mysql增删改查web工具_Mysql常用的增删改查语法

表的增删改

1. 创建表

create table表名(

列名 数据类型 [约束类型] [comment‘备注'],

...,

constraint约束名 约束类型(列名)

)engine=innodb defalut charset=utf8;

从其他表查询几列数据生成新的表

create table 表名1 as select 列1,列2 from 表名2

2. 向表中添加数据

按列名添加一行数据

insert into 表名[(列名1,列名2...)] values(列1数据,列2数据...);

从其他表中复制数据

insert into 表名1 select 列名 from 表名2

3. 修改表中的数据

按条件修改数据

update 表名 set 列名=列值,列2名=列2值...where 选择条件

将子查询结果赋值给表中数据

update 表名 set 列名=(子查询)

4. 删除表中的数据

按条件删除指定数据

delete from 表名 where 选择条件

销毁整张表或约束

drop table 表名;

drop index 约束名;

5. 修改表的结构

添加列

alter table 表名 add 列名 数据类型;

添加约束

alter table 表名 add [constraint 约束名] 约束类型(列名);

c8993d297232ad62a5e02d21b877d5d7.png

修改表名

alter table 表名 rename 新表名

修改列的字段名

alter table 表名 change cloumn 列名 新列名 新列数据类型

修改列的数据类型

alter table 表名 alter column 列名 数据类型;

添加一列到表中

alter table 表名 add 列名 数据类型;

删除表中一列

alter table 表名 drop column 列名

查看表的结构

desc 表名

表的查询

1.查询的基本语法

select列名1[as] [列别名],列名2

from表1[as] [表别名]

[left]join表2on连接条件

[left]join表3on连接条件

where检索条件(不可用统计函数)

group by分组列1,列2

having检索条件(可用统计函数min,max,sum,avg)

orderby排序列 [desc降序]

limit起始行号,显示行数

2.查询分类

437605a3f52f6563ca729f6663a0a341.png

3. 连接分类

586d3adad8b21d97ffca1c4a10fcd03e.png

4. 子查询

4.1使用子查询的目的

数据库连接耗时长,避免多次连接数据库

尽可能减少次数

提升数据库性能

能用连接解决时,不使用子查询

4.2无关子查询

常用于where/having后用于约束父查询的条件,先执行子查询语句一次,父子查询间字段无关

select * from emp where sal > (select avg(sal) from emp)

用于select后直接输出列,可以添加别名

select ename,(select avg(sal) from emp) as asal from emp

4.3相关子查询

常用于where后,子查询返回字段与父查询字段相关联,父查询每次要执行子查询中的条件一次

select * from emp f where sal > (select avg(sal) from emp where deptno=f.deptno)

表示比与自己所在部门的平均工资相比更高的记录被选择

4.4嵌套子查询

常用于from后,把子查询返回结果看作一个表与父查询的表做连接

select * from emp a join (select deptno from emp) b on a.deptno = b.deptno

4.5多列查询

表示列1,列2分别与子查询返回的第一列,第二列值相同的记录被选择

select * from emp where (列1名,列2名) in (子查询)

4.6多行查询

字段 in(子查询) 与任意返回值相同

字段

字段

select * from emp where 列名 in/<=any/<=all (子查询)

4.7当子查询出现null时

子查询返回null会造成比对时结果全部为null,任意字段与null比对后均返回null

(select comm from emp where comm is not null)

去除子查询返回结果集中的null值

5. 纵向合并union

无all:一行记录

有all:28行相同记录

合并列仅限两列数据类型相同时,mysql环境下不同数据类型也可以合并但不正规

select1,2fromempunion[all]

select1,2fromemp

6. mysql分页函数limit

从x+1行开始向下显示d行记录,放在select子句最后使用

limit x,d

从第3行显示到第8行结束

select * from emp limit 2,5

7. 索引

主键自增长用作索引时,删除的记录会被记住索引号,新添加的记录将跳过删除的索引号,为其恢复记录保留表的空间,也可在添加新记录时指定索引号,但在重启mysql服务后删除的索引失效

如插入主键值1,2,3,删除2,3行,再添加记录将从4开始添加索引号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值