本文已参与「新人创作礼」活动,一起开启掘金创作之路。
MySQL的常用命令以及增删改查
常用命令:
- 登录: mysql 【-h主机名 -P端口号 】-u用户名 -p密码
- 查看当前所有的数据库 show databases;
- 打开指定的库 use 库名
- 查看当前库的所有表 show tables;
- 查看其它库的所有表 show tables from 库名;
- 查看表结构 desc 表名;
插入
insert into 表名 (字段名,...)
values(值1,...);
1、字段类型和值类型一致或兼容,而且一一对应
2、可以为空的字段,可以不用插入值,或用null填充
3、不可以为空的字段,必须插入值
4、字段个数和值的个数必须一致
5、字段可以省略,但默认所有字段,并且顺序和表中的存储顺序一致
删除
方式1:delete语句
单表的删除:
delete from 表名 【where 筛选条件】
多表的删除:
delete 别名1,别名2
from 表1 别名1,表2 别名2
where 连接条件
and 筛选条件;
方式2:truncate语句
truncate table 表名
两种方式的区别【面试题】
1.truncate不能加where条件,而delete可以加where条件
2.truncate的效率高
3.truncate 删除带自增长的列的表后,如果再插入数据,数据从1开始。而delete 删除带自增长列的表后,如果再插入数据,数据从上一次的断点处开始
4.truncate删除不能回滚,delete删除可以回滚
修改
修改单表语法:
update 表名 set 字段=新值,字段=新值
【where 条件】
修改多表语法:
update 表1 别名1,表2 别名2
set 字段=新值,字段=新值
where 连接条件
and 筛选条件
查询
条件查询:根据条件过滤原始表的数据,查询到想要的数据
select
要查询的字段|表达式|常量值|函数
from
表
where
条件 ;
查询可以搭配逻辑运算符使用:
and(&&):两个条件如果同时成立,结果为true,否则为false
or(||):两个条件只要有一个成立,结果为true,否则为false
not(!):如果条件成立,则not后为false,否则为true
三、模糊查询
匹配字符串举例:
- "%" 百分号通配符相当于正则的" .* "
- "_" 下划线通配符相当于正则的"."
同时,也可以用关键字
● IN关键字用于判断某个字段的值是否在指定集合中,若在,则该字段所在的记录将会被查询出来.(注意:如果的in 后面的条件是多个,需要用括号括起来)
● BETWEEN AND 用于判断某个字段的值是否在指定范围之内,若在,则该字段所在的记录会被查询出来,反之不会。
● 在数据表中有些值可能为空值(NULL),空值不同于0,也不同于空字符串,需要使用 IS NULL 来判断字段的值是否为空值。
● 很多表中某些字段的数据存在重复的值,可以使用DISTINCT关键字来去重
● 带 LIKE 关键字的查询