mysql基础命令

sql语句最后需要以;号结尾,sql语句最后需要以;号结尾,sql语句最后需要以;号结尾。重要的事说三遍。

数据库操作

select version():显示数据库版本

select now():显示时间

show databases:查看所有数据库

show create database 数据库名:查看创建数据库的语句

create database 数据库名字:创建数据库

create database 数据库名字 charset=utf8:创建指定编码格式的数据库

drop database 数据库名:删除数据库

use 数据库名:使用数据库

select database ():查看当前使用的数据库

数据表操作

show tables:查看当前数据库中所有表

drop table 表名:删除表

show create table 表名:查看创建表的语句

create table 表名(字段 类型 约束[,字段 类型 约束]):创建表

参数:auto_increment表示自动增长、not null表示不能为空、primary key表示主键、default 默认值

desc 表名:查看表的状态

insert into 表名 values():向表插入数据,按照参数类型写参数

select * from 表名:查看表中所有的数据

alter table 表名 add 列名 类型:向表中添加字段

alter table 表名 modify 列名 类型 约束:不重命列名版

alter table 表名 change 列的原名 列的新名 类型 约束 :重命列名版

alter table 表名 drop 列名:删除字段

数据的增删改查

增加

全列插入:insert into 表名 values(数据)

主键字段:可以用0 null default 来占位。因为auto_increment是自动增加的

部分插入:insert into 表名(列名1) values(值1) 没有的值取默认值

多行插入:insert into 表名 values (数据1),(数据2)

update 表名 set 列名 :整列都改

update 表名 set 列名 where 条件:根据条件改

通过其他表来更新一个表:

update 其他表 as 新名 inner join 被更新的表 as 新名 on 条件 set 需要改的数据

查询:

select from 表名:查询整个表,号代表全部

select * from 表名 where :根据条件查询

select 查询的列名 from 表名:根据列名查询。查询多列时,列名间用,隔开

select 查询的列名 as 列的新名字 from 表名:将列查询后以新的名字显示出来

select 表名.列名 from 表名

select 表的新名字.列名 from 表名 as 表的新名字

select distinct 列名 from 表名:可以去重,只显示相同数据第一次数据出现的位置

条件查询:

and、or、not都可以用,类似python的语法。判断是否为空,is NULL。

模糊查询:

like :%代表一个或多个,_代表一个。

select name from 表名 where name like “%小%”:查询名字中有”小”字的名字

select name from 表名 where name like “__”:查询两个字的名字

select name from 表名 where name like “__%”:查询两个字以上的名字

rlike:利用正则查询

范围查询:

in表示在一个非连续的范围内

between 数字 and 数字表示在一个连续的范围内

排序:order by 默认从小到大排序

asc:从小到大排

desc:从大到小排

如果排序字段相同,我们可以设置多个排序字段。若不设置,默认按照主键大小排。

聚合函数(count,max,min,avg,sum,round):不能跟其他字段一起用

count:计算个数,其他类似

max:计算最大的

min:计算最小的

avg:计算平均值

sum:求和

round:四舍五入 ,round(123.23,1)保留一位小数=123.2

分组:group by

按照性别分组:

配合聚合函数使用计算每种性别的人数:

计算男性的人数:

group_concat():查询同一组的其他字段

还可以用字符串分割

having:将达到条件的组输出,可以配合聚合函数一起使用

having和where的区别:having是在分组后进行筛选,where是在原表的基础上进行筛选

分页:

limit start,count 限制查询出来的数据个数。start代表从哪开始,count 代表查询的数据个数。start默认为0

链接查询:内链接、左链接、右链接

内链接:inner join ……on

在两个表中取交集,如果存在则将两表数据合并。不存在则跳过。

可以利用as化简语句:

可以根据需求修改需要显示的数据:

还可以修改数据显示的位置:

通过某个表的字段排序:

左链接:left join……on。谁在左边,谁就是左表。

查询的结果为两个表匹配到的数据,左表特有的数据,对于右表不存在的数据使用null填充

将左表特有的数据提取出来:

右链接:right join……on:类似左表。可以直接将右链接的表中左表和右表的显示交换即可得右链接。

自关联:补。。。。

子查询:查询里嵌套一个查询

删除

删除分为物理删除和逻辑删除:

物理删除:

delete from 表名:删除整个表

delete from 表名 where 条件:删除符合条件的数据

逻辑删除:(用一个字段表示,这条信息是否还能用)

alter table 表名 add 字段 类型 default 默认值

----本文结束,感谢您的阅读。如有错,请指正。----
大哥大嫂过年好!支持我一下呗
0%