03、表的进阶操作


一 修改表的操作

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$';

暂无评论

发表评论
OωO表情