MySQL—增删改查命令

一、基本命令

mysql设置数据库的增删改查操作权限 mysql增删改查命令_mysql设置数据库的增删改查操作权限


【注意:下面的 []里面的内容可写可不写,具体看实际需要

二、数据库

1、查看数据库
show databases;

2、使用数据库
use 数据库名称;

3、创建数据库
create database [if not exits] 数据库名称;

4、删除数据库
drop database [if exits] 数据库名称;

三、表

1、查看表格
show tables;

2、创建表格
create table 表名(
字段名1 数据类型[完整性约束条件][索引][注释],
字段名2 数据类型[完整性约束条件][索引][注释],

)[表类型][表字符集][注释];

3、删除表
drop table 表名;

4、查看表结构
desc 表名;

建表那里提一下:
【注意:完整性约束条件可以是:not null,primary key,auto_increment等
表类型:ENGINE=MYISAM/InnoDB…;
表字符集:charset=utf8;
注释:comment ‘注释内容’】

数据类型引伸一下下

数据类型可以是以下几种

mysql设置数据库的增删改查操作权限 mysql增删改查命令_mysql设置数据库的增删改查操作权限_02


1.数值类型

mysql设置数据库的增删改查操作权限 mysql增删改查命令_mysql_03


2.字符串类型

mysql设置数据库的增删改查操作权限 mysql增删改查命令_mysql_04


3.日期类型

mysql设置数据库的增删改查操作权限 mysql增删改查命令_sql_05


4.NULL类型

mysql设置数据库的增删改查操作权限 mysql增删改查命令_数据库_06

表类型再引伸一下下

mysql设置数据库的增删改查操作权限 mysql增删改查命令_表名_07


MYISAM 和 InnoDB 区别

mysql设置数据库的增删改查操作权限 mysql增删改查命令_mysql_08

四、修改表结构

1、修改表名
alter table 旧表名 rename 新表名;

2、添加字段
alter table 表名 add 字段名 列类型 [属性];

3、修改字段
alter table 表名 modify 字段名 列类型 [属性];
alter table 表名 change 旧字段名,新字段名 列类型 [属性];

4、删除字段
alter table 表名 drop 字段名;

5、外键
创表时增加外键
create table 表名(字段列表… ,[constraint 索引名] foreign key (本表的字段名) references 外表名(外表的字段名));

表已经存在时修改外键
alter table 表名 add [constraint 索引名] foreign key (本表的字段名) references 外表名(外表的字段名);

删除外键
alter table 表名 drop foreign key 索引名;

五、表内容的增删改查

1.插入
insert into 表名 (字段名1,字段名2…) values (字段名1,字段名2…);

2.修改
update 表名 set 列名=value where condition;
【condition :为筛选条件】

3.删除
delete from 表名 where condition;
truncate 表名;
二者区别:
truncate只删除表的内容,不删除表结构,索引,约束等,速度更快,恢复难
而delete删除所有,将删除的内容全部置空

4.查询

mysql设置数据库的增删改查操作权限 mysql增删改查命令_表名_09


【as】:起别名

SELECT StudentNo AS “学号” FROM student;

SELECT a.StudentNo FROM student AS a;

SELECT Phone+1 AS Tel FROM student;

mysql设置数据库的增删改查操作权限 mysql增删改查命令_数据库_10


例如:select stu_id id,stu_name 名字 from student [where condition];

【distinct】:去重
select distinct 字段名1,字段名2… from 表名 [where condition];

【select语法】:

mysql设置数据库的增删改查操作权限 mysql增删改查命令_sql_11

逻辑操作符

mysql设置数据库的增删改查操作权限 mysql增删改查命令_表名_12


mysql设置数据库的增删改查操作权限 mysql增删改查命令_mysql设置数据库的增删改查操作权限_13


【between…and…】:范围

select 字段1,字段2…from 表名 where 字段 between 值1 and 值2;

【注意:左右都是闭区间】【like】:模糊查询

like “正则表达式”

mysql设置数据库的增删改查操作权限 mysql增删改查命令_mysql设置数据库的增删改查操作权限_14


【in】:在.中间,多替换or

select 字段1,字段2…from 表名 where 字段 in (值1,值2,…);

【group by 】:分组
group by 字段 [having 条件]:按照什么字段进行分组,如果想加条件,请在having语句后面写,不能随意写在where语句里

【order by】:排序
严格按照查询语句书写顺序
默认升序:asc,降序:desc

【limit】:限制显示个数

limit n:显示前n条数据

limit (m,n):显示从第m条数据往后数的n条数据

limit (m,n) 等价于 limit n offset m

mysql设置数据库的增删改查操作权限 mysql增删改查命令_表名_15

关联

内关联

join 或 inner join :展示多个表能连接得上的数据(共同有的)

外关联

左连接:left join:会展示左表所有数据,右表能链接上的数据

右连接:right join:会展示右表所有数据,左表能链接上的数据

全连接:full join(mysql 5.8以后才有),相当于 左连接 union all 右连接

mysql设置数据库的增删改查操作权限 mysql增删改查命令_sql_16


mysql设置数据库的增删改查操作权限 mysql增删改查命令_数据库_17

union和 union all区别:

使用union all 会把数据纵向拼接起来
union 是在union all的基础上去重

自连接

典型例子:

有一个category表,注意看这个是【拉链表:pid指向categoryId】

mysql设置数据库的增删改查操作权限 mysql增删改查命令_mysql_18


为了让它们自动分类,使用如下查询语句:select a.categoryName 分类,b.categoryName 专业 from category a join category b on a.categoryId = b.pid;

mysql设置数据库的增删改查操作权限 mysql增删改查命令_mysql设置数据库的增删改查操作权限_19