登录数据库
mysql -uroot -p
退出数据库
quit
exit
ctrl+d
展示所有数据库
show databases;
创建数据库
create database 库名;
使用数据库
use 库名;
删除数据库(慎用)
drop datgabase 库名;
查看当前数据库中所有的表
show tables;
创建表
reate table student(
id int,
myname varchar(60),
content text,
brith date,
money decimal(5,2),
addtime datetime,
sex enum('男','女')
)default charset=utf8;
删除表
drop table 表名;
查看创建表的信息
show create table 表名;
修改表-表字段名
alter table 表名 change;
alter table 表名 change 旧名 新名 新的字段类型
修改表-修改字段类型
alter table 表名 modify 列名 类型 约束;
alter table student modify money decimal(10,2) not null;
修改表-添加一个字段
alter table 表名 add 列名 类型 约束;
alter table student add age tinyint(120) not null;
查看表结构
dese 表名;
修改表-修改字段名和字段类型
alter table 表名 change 原名 新名 类型及约束;
alter table students change birthday birth datetime not null;
- change:既能对字段重命名又能修改字段类型还能修改约束
修改表-删除字段
alter table 表名 drop 列名;
alter table students drop birthday;
查看创建表SQL
show create table 表名;
show create table students;
查看创建库SQL
show create database 数据库名;
show create database mytest;
删除表
drop table 表名;
drop table students;
查询数据
select * from 表名;
select * from students;
查询指定列
select 列1,列2,... from 表名;
select id,name from students;
添加数据
全列插入:值的顺序与表结构字段的顺序完全一一对应
insert inot 表名 values()
insert into students values(0,'xx',default,default,'男');
部分列插入:值的顺序与给出的列顺序对应
insert into 表名(列1,...) values(值1,...);
insert into students(name,age) values('王小二',15);
全列多行插入
insert into 表名 values(...),(...)...;
insert into student values(0,'张飞',55,1.75,'男'),(1,'关羽',58,1.85,'男');
部分列多行插入
insert into 表名(列1,...) values(),()...;
insert into students(name,height) values('刘备',1.75),('曹操',1.6);
修改数据
update 表名 set 列1=值1,列2=值2... where 条件;
update students set age=18,gender='女' where id=6;
删除问题
delete from 表名 where 条件;
delete from students where id=5;
- 物理删除,一旦删除就不容易恢复,可以使用逻辑删除的方式来解决这个问题
添加删除表示字段,0表示未删除,1表示删除
alter table students add isdelete bit default 0;
逻辑删除数据
update students set isdelete =1 where id=8;
- 逻辑删除,本质就是修改操作