一 修改表的操作
1.1 简单语法
1、修改表名
alter table 表名 rename 新表名;
2、增加字段
alter table 表名 add 字段名 数据类型[完整性约束条件],数据类型[完整性约束条件];
alter table 表名 add 字段名 数据类型[完整性约束条件] first;
alter table 表名 add 字段名 数据类型[完整性约束条件] after 字段名;
3、删除字段
alter table 表名 drop 字段名;
4、修改字段
alter table 表名 modify 字段名 数据类型[完整性约束条件];
alter table 表名 change 旧字段名 新字段名 旧数据类型[完整性约束条件];
alter table 表名 change 旧字段名 新字段名 新数据类型[完整性约束条件];
5、复制表
create table 表名 select 字段1、字段2 from 被复制的表名;
# 只复制表结构,不复制表记录
create table 表名 select * from 被复制的表名 where 1>10;
二 记录的相关操作
2.1 记录的简单语法
1、插入完整数据(顺序插入)
insert into 表名(字段1、字段2、字段3...字段n) values(值1,值2,值3...值n);
# 按顺序插入
insert into 表名 values(值1,值2,值3...值n);
# 插入多条记录
insert into 表名 values
(值1,值2,值3...值n),
(值1,值2,值3...值n),
(值1,值2,值3...值n);
2、更新数据
update 表名 set 字段1=值1,字段2=值2,where condition;
3、删除数据
delete from 表名 where condition;
三 单表查询
3.1 查询语法
1、查询某字段的种类且不重复
select distinct 字段1,字段2,... from 库.表
where 过滤条件
group by 分组字段
having 过滤条件
order by 排序字段
limit 条数
2、简单查询
select distinct 字段1,字段2,... from 库.表;
3、条件查询
select id,(
case
when name='egon' then concat(name,"_vip")
when name='alex' then concat(name,"_bigsb")
else
name
end
) as new_name from employee;
3、where子句进行筛选
select * from employee where id=3;
select * from employee where id>=3;
select * from employee where id!=3;
select * from employee where id>3 and id<5;
select * from employee where id<3 or id>10;
select * from employee where id>=3 and id<=5;
select * from employee where id=3 or id=5 or id=7;
select * from employee where id in (3,5,7);
# 模糊匹配
# ji开头的后面无限位
select * from employee where name like 'ji%';
# ji开头的,后面跟一位
select * from employee where name like 'ji_';
# 只要是两位的都被匹配到
select * from employee where name like '__';
# 正则匹配
# 以jin开头的
select * from employee where name regexp '^jin';
# 以n结尾的
select * from employee where name regexp 'n$';