一:安装数据库
yum install ==> 在线下载并安排
yum install mysql ==> 下载客户端
yum install mysql-server ==> 下载服务端
rpm -qa|grep -i mysql ==> 查看是否安装了数据库
二:mysql 服务启动和关闭
service mysqld start ==》启动数据库,以后每次进入数据库都需要启动数据库
service mysqld stop ==》关闭数据库
service mysqld status ==》查询数据库状态 (pid 后面数字代表进程号)
service mysqld restart ==》重启数据库
备注:mysqld后面的d代表是一个守护进行daemon
netstat -ntlp ==》 查看进程
三:登录mysql数据库 ==〉 第一次登录是不需要密码
mysql -uroot -p ==> 第一次登录(不需要密码,两次回车;u:user, root:用户, p:password)
Enter password ==> 第一次装数据库,不需要密码(直接回车)
默认mysql中有个用户是root
show databases; ==> 查看数据库中所有数据库;里面有3个系统库:information_schema\mysql\test
exit ==> 退出数据库(或者ctrl + c)
mysqladmin -uroot password "123456" ==> 设置数据库密码
mysql -uroot -p123456 ==> 修改完密码后登录mysql数据库(或者mysql -uroot -p =》再回车输入密码)
create database dcs1; ==> 创建数据库dcs1
drop database dcs1; ==> 删除数据库dcs1
use dcs1; ==> 进入dcs1数据库(切换也使用此指令)
select database(); ==> 查看(查找)当前在哪个数据库里;
数据库密码:
(1)跳过权限不输入密码进入mysql
exit ==》 退出
vim /etc/my.cnf ==> 编辑配置文件
i ==》进入编辑模式
skip-grant-tables ==〉 在socket=/var下面输入此行代码
esc
:wq ==> 保存退出
service mysqld restart ==> 重启数据库
mysql -uroot -p ==> 再次登录数据库不需要输入密码
create table test(id int(20)primary key auto_increment,score float(20,2)not null,name varchar(20),phone bigint(20) default 18611112222,time date);
show tables; ==> 查看所有表格
desc test; ==> 查看表结构
Field ==> 字段
type ==> 数据类型
null ==> 是否可以为空
key ==> primary key 主键
default ==> 默认值约束
Extra ==> 额外的备注,auto_increment 自增长约束
数据库中常用的数据类型
数值型:
int ==> 最大存储值2147483647(最大存储值为10位)
bigint ==> 手机号码都只能用bigint来存储(长整型)
(前两个都是整数型,无小数点)
float ==> score|float (20,2) 2是精度,代表是几位数(符点型)
文本型:[varchar和char 存的数据需要加单引号或者双引号]
varchar ==> 存字符串,字符位数多一些
char ==> 存字符,单个字符
日期型:[date存的数据需要加单引号或者双引号]
date ==》 "2021-11-30"
数据库中常用的约束有哪些?
not null ==> 非空约束
primary key ==> 主键约束,里面的值必须是唯一的
default ==> 默认值约束,若不输入值,字段永远是18611112222
auto_increment ==> 自增长约束
foreign key ==> 外键约束
【对表结构的操作】
show tables; ==> 查看所有表格
desc test; ==> 查看表结构
alter table test rename test1; ==> 修改表格名称
alter table test change id sid int(20); ==> 修改表内属性id名称为sid 并去除自增长约束auto_increment
alter table test change sid id int(20) auto_increment; ==> 修改表内属性sid名称为id 并增加自增长约束auto_increment
alter table test add class int(20) first; ==》 添加一个班级的字段,并在id上面(第一个位置)
alter table test add sex int(20) after id; ==> 添加性别字段,在id后面
alter table test add(age1 int(20),age2 int(20)); ==> 一次性添加两个字段(只能添加在最后面位置,不能添加在最前面)
alter table test modify class int(20) after id; ==> 调整class 字段放在 id 后面
alter table test drop sex; ==> 删除字段性别
alter table test drop age1,drop age2; ==》 删除多个字段
alter table test change id id int(20); ==> 删除id自增长约束,且不改变名称
alter table test change id id int(20) auto_increment; ==> 不改变字段名称,添加自增长约束
alter table test drop primary key; ==> 删除主键(删除自增长,才可以删除主键约束,否则报错,删除不了主键)
备注:自增长约束是结合主键使用的,所以删除主键前要先删除自增长;
单个数据插入:
insert into test(id,score,name,phone,time)values(1,89.99,'xiaozhang',18811112222,'2021-11-30'); ==> 插入一条数据(第一种方法)
insert into test values(2,88.88,'xiaoli',18899990000,'2021-11-30'); ==> 插入一条数据(第二种方法)
select * from test; ==> 查询所有数据
多个数据插入:
insert into test(id,score,name,phone,time)values(3,78.666,'xiaoren',18866664444,'2021-11-30'),(4,68.98,'xiaowan',18822226666,'2021-11-30'); ==> 插入两条数据(因为限制两位小数点,所以78.666会字段四舍五入为78.67)
insert into test values(5,78.66,'xiaohua',18866664444,'2021-11-30'),(6,68.98,'xiaowan',18822226666,'2021-11-30'),(7,68.98,'xiaowan',18822226666,'2021-11-30'); ==> 插入三条数据
指定字段插入数据
insert into test(id)values(8); ==> 只插入字段id
备注:0 !== null
insert into test(score)values(90.99); ==> 只插入字段score,此条数据id会根据之前设置的自增长约束而+1
(delete form test where id=0; ==> 删除id为0的那条数据)
alter table test change phone phone int(20) not null; ==> 把phone数据类型修改为int,并且加上not null约束,所有的手机号都改为:2147483647;
insert into test(phone)values(2147483648); ==> 还是显示2147483647,因为int类型最大值为2147483647
|
|