MYSQL:DDL、DML、DQL

DDL(数据库操作)

数据库操作的相关语法:

1. 数据库操作

1. 1 查询:

查询所有数据库:

SHOW DATABASES;

查询当前数据库:

SELECT DATABASE();

1.2 创建

CREATE DATABASE [ if not exists ] 数据库名 [ default charset 字符集] [ COLLECT 排序规则 ];(如果不存在就建立)

1.3 删除

DROP DATABASE [ IF EXISTS ] 数据库名;(如果存在就删除)

1.4 使用

USE 数据库名;

2. 表操作

2.1 查询当前数据库所有表

SHOW TABLES;

2.2 查询表结构

DESC 表名;

2.3 查询指定表的建表语句

SHOW CREATE TABLE 表名;

2.4 创建

CREATE TABLE 表名( 字段1 字段1类型 [属性] [索引] [ COMMENT 字段1 注释],

​ 字段2 字段2 类型[ COMMENT 字段2 注释])

[ COMMENT 表注释];

注意:[ ]为可选参数。

2.4.2 数据类型

在这里插入图片描述

char(固定长度,性能好)和 varchar(可变长度,性能差,时间换空间)

date 日期类型年月日

datetime 日期类型,年月日时分秒

2.5 修改表

添加字段

ALTER TABLE 表名 ADD 字段名 类型(长度)[comment 注释] [ 约束];

修改字段和字段类型

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度)[comment 注释] [ 约束];

ALTER TABLE 表名 MODIFY 列名 新数据类型 – 用来修改字段类型。

删除字段

ALTER TABLE 表名 DROP 字段名;

修改表名

ALTER TABLE 表名 RENAME TO 新表名;

删除表

DROP TABLE [ IF EXISTS ] 表名;

删除指定表,并重新创建该表

TRUNCATE TABLE 表名;

删除表

DROP TABLE [ IF EXISTS ] 表名;

删除指定表,并重新创建该表

TRUNCATE TABLE 表名;

DML数据操作

DML主要用于对数据库表中数据进行增删改等操作

查看表:

select* from 表名;

SHOW CREATE DATABASE 查看创建数据库的语句

SHOW CREATETABLE 查看创建表的语句

1.给指定的列添加数据

INSERT INTO 表名(列名 ) VALUES (值1,值2,…);

2.给全部的列添加数据

INSET INTO 表名 VALUES(值1 ,值2,…);

– 也可以在表名后面把所有列名写上。

3.批量添加数据

INSERT INTO 表名 (列名1,列名2,…)VALUES(值1,值2,…),(值1,值2,…);

INSERT INTO 表名 VALUES(值1, 值2,…),(值1,值2,…);

date数据要加‘ ’ 算字符型

4.修改数据

UPDATE 表名 SET 列名1=值1,列名2=值2,…[where 条件];

注意:修改语句中如果不加条件,则所有数据都将被修改。

5.删除数据

DELETE FROM 表名[where 条件];

注意:修改语句中如果不加条件,则所有数据都将被删除。

DQL单表查询

SELECT

FROM

WHERE

GROUP BY

HAVING

ORDER BY

LIMINT

*:全部信息

基础查询

SELECT * FROM 表名; --查询表全部信息

SELECT 列名1 AS(也可以空格) 别名1 ,列名2 AS 别名2 FROM 表名;–查询固定表 某列的信息

SELECT DISTINCT 列名 from 表名;–去除重复记录

条件查询:

SELECT 字段列表(*) FROM 表名 WHERE 条件列表;

条件 >,<,>=,<=,=,!=,between and, is null,is not null ,&&,|| ,!,In

注意:null值的比较要用 is null 和 is not null

模糊查询

下划线_ 单个字符 百分号% 任意个字符

SELECT * FROM 表名 WHERE 字段名 LIKE ’ _ & ';

排序查询:

SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 [排序方式] ,排序字段名2 [排序方式]…;

排序方式:ASC(升序排列)(默认) DESC (降序排列)

多个排序条件,优先前面的条件。

分组查询:

SELECT 字段列表 FROM 表 [WHERE 分组前条件限定] GROUP BY 分组字段名 [ HAVING 分组后条件过滤 ];

where 和 having 的区别:where是分组前进行限定,having是分组后进行限定。

可判断的条件不一样, where不能对聚合函数进行判断,having可以

执行顺序 where》 聚合函数》having

分组之后的字段为聚合函数或者分组字段,字段列表写其他没有意义。

聚合函数

SELECT 聚合函数名(列名) FROM 表;

五种聚合函数:

  1. count()统计数量–一般不选用null的列 ,若有空不统计 count(*) 有一个数据就能统计上
  2. max()求最大
  3. min() 求最小
  4. sum() 求和
  5. avg() 平均值

注意:null值不参与所有聚合函数运算

分页查询

SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询条目数;

起始索引:从0开始

计算式:起始索引=(当前页码-1)*每页显示的条目数; (不用加1 因为第一条数据是起始是0)

注意 :

分页查询是mysql的方言

Oracle分页查询使用rownumber

SQL Server 分页查询是用的是tops

  • 17
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值