MySQL数据库基础语句---增删改查

新增表数据

1. 给指定列添加数据

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

2. 给全部列添加数据

insert into 表名 values(数据1,数据2,.......);
//所有列都有数据,并且一一对应

3. 批量添加数据

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

修改数据

update 表名 set 列名1 = 值1,列名2 = 值2,.....[where 条件];

删除数据

delete from 表名 [where条件];

查询数据

1.语法

select * from 表名;

select
		字段列表
from
		表名列表
where
        条件列表
 group by 
 		分组字段
 having
 		分组之后的条件
 order by
 		排序
 limit
      	分页限定

2.查询全部


查询全部表数据
select * from 表名;
查询某些字段
select 字段1,字段2.....from 表名;
去除重复
select distinct 字段1,字段2,.....from 表名;
四则计算
select 字段1 (+,-,*,/)字段2 from 表名;
//如果某一列为null,可以进行替换
ifnull(表达式1,表达式2)
//表达式1为列名
//表达式2为值
例如:
select name,ifnull(mark,0)+10 from student;
起别名
select 字段1 as 别名 from 表名
//as可以省略,必须加空格

3.条件查询
查询条件分类
MySQL数据库基础语句---增删改查_第1张图片

条件查询语句
select * from 表名[where条件1,条件2.....];

4.聚合函数
函数分类
MySQL数据库基础语句---增删改查_第2张图片

语句
select 函数名(类名) from 表名 where 条件;

5.排序查询

select * from 表名 where 条件 order by 列名 排序方式 列名 排序方式
//ASC 升序 DESC 降序,多个排序时,前面相同后面才会排序

6.分组查询

select 列名 from 表名 where 条件 group by 分组条件 having 过滤条件 order by 列名 排序方式

7.分页查询

select 列名 from 表名 where 条件 group by 分组条件 having 过滤条件 order by 列名 排序方式 limit 当前页数,每页条数;

//当前页数 = (页数-1)*每页条数

8.多表查询

内连接查询(数据有主外键关联)
显示内连接
select 列名 from 表1 [inner] join 表2 on 条件;
//inner 可以省略
隐式内连接
select 列名 from 表1,表2 where 条件;
外连接
左连接(查询左表数据及左右表有关联的数据)
select 列名 from 表1 lift [outer] join 表2 on 条件;
右连接
(查询左表数据及左右表有关联的数据)
select 列名 from 表1 right [outer] join 表2 on 条件;
//[outer]可以省略
子查询
单行单列查询
select 列名 from 表名 where 列名 = (select 列名 from 表名 where 条件);
多行单列查询
用in或notin
select 列名 from 表名 where 列名 notin (select 列名 from 表名 where 条件);
多行多列查询
select 列名 from 表名 别名,(select 列名 from 表名 where 条件) 别名 where 条件;
  1. 自关联(一张表中数据自己之间有关联)

你可能感兴趣的:(mysql,数据库,sql)