​mysql数据库增删改查语法有哪些?总结

XIAO 2020-05-29 19:38:19 java常见问答 4147

要说时下比较流行的数据库,那mysql肯定是拥有姓名的,那么你是否清楚mysql数据库的增删改查语法呢?有兴趣的小伙伴们可以跟小编一起来看看哦。

首先我们来看看如何创建表:

create table 表名(

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

...,

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

)engine=innodb defalut charset=utf8;

当然也可以从其他表查询几列数据生成一张新的表:

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

增:向表中添加数据。

我们可以按照列名添加一行数据:

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

同样可以从其他表中复制数据:

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

改: 修改表中的数据。

我们可以按条件修改数据:

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

还可以将子查询结果赋值给表中数据:

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

删: 删除表中的数据。

我们可以按条件删除指定数据:

delete from 表名 where 选择条件;

也可以直接销毁整张表或约束:

drop table 表名;

drop index 约束名;

我们再来看看如何修改表名:

alter table 表名 rename 新表名;

修改列的字段名:

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

以及修改列的数据类型:

查:表的查询。

首先是查询的基本语法:

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

from 表1 [as] [表别名]

[left] join 表2 on 连接条件

[left] join 表3 on 连接条件

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

group by 分组列1,列2

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

order by 排序列 [desc降序]

limit 起始行号,显示行数。

子查询:使用子查询的目的其实就是数据库连接耗时长,为了避免多次连接数据库

及尽可能减少次数,以此来提升数据库性能。

但是一般能用连接解决时,不建议使用子查询的。

我们来看看无关子查询:

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

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

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

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

那么以上就是有关mysql数据库的所有内容了,还想了解更多java架构师的相关信息,关注本站消息即可呢。

推荐阅读:

mysql数据库备份要怎么备份?都有哪些方式?

数据库安装有哪些步骤?该怎么安装?

数据库索引原理有哪些?简述