mysql常用增删改查语法命令

介绍

  • SQL(Structured Query Language)结构化查询语言
  • DDL(Data Definition Language)数据定义语言
  • DML(Data Manipulation Language)数据操作语言
  • DQL(Data Query Language)数据查询语言
  • DCL(Data Control Language)数据控制语言(了解)

数据类型

    1. int -- 整数类型
    	* age int
    2. double -- 小数类型
    	* score double(5,2)
    	* price double
    3. date -- 日期
   		-- 只包含年月日     
   		-- yyyy-MM-dd
    4. datetime -- 日期
    	-- 包含年月日时分秒	 
    	-- yyyy-MM-dd HH:mm:ss
    5. timestamp -- 时间戳类型 
    	-- 包含年月日时分秒 
    	-- yyyy-MM-dd HH:mm:ss	
    	-- 不赋值,或赋值null,则默认使用当前的系统时间,自动赋值
    6. varchar:-- 字符串
    	* name varchar(20)  
    	-- 姓名最大20个字符
    	-- zhangsan 8个字符  
    	-- 张三 2个字符

DDL-数据库、数据表(用、增、删、改、查)

-- 使用数据库
USE 数据库名称;

-- *数据库
-- 创建数据库
CREATE DATABASE 数据库名称;

-- 创建数据库(如果不存在则创建)
CREATE DATABASE IF NOT EXISTS 数据库名称;

-- 创建数据并指定字符集
CREATE DATABASE 数据库名称 CHARACTER SET 字符集;

-- 创建数据库并指定字符集(如果不存在则创建)
CREATE DATABASE IF NOT EXISTS 数据库名称 CHARACTER SET 字符集;

-- *数据表
-- 创建数据表
CREATE TABLE 数据表名称(
	列名1 数据类型,
   	列名2 数据类型,
    ...
    -- 最后一列不能加逗号
    列名n 数据类型
    
);

-- 复制数据表
CREATE TABLE 新数据表名称 LIKE 数据表名称;

-- *数据列
-- 增加一列
ALTER TABLE 数据表名称 ADD 数据列名称 数据类型;

-- *数据库
-- 删除数据库
DROP DATABASE 数据库名称;

-- 删除数据库(如果存在则删除)
DROP DATABASE IF EXISTS 数据库名称;

-- *数据表
-- 删除数据表
DROP TABLE 数据表名称;

-- 删除数据表(如果存在则删除)
DROP TABLE IF EXISTS 数据表名称;

-- *数据列
-- 删除数据列
ALTER TABLE 数据表名称 DROP 数据列名称;

-- *数据库
-- 修改数据库的字符集
ALTER DATABASE 数据库名称 CHARACTER SET 字符集;

-- *数据表
-- 修改数据表名称
ALTER TABLE 数据表名称 RENAME TO 新数据表名称;

-- 修改数据表字符集
ALTER TABLE 数据表名称 CHARACTER SET 字符集;

-- *数据列
-- 修改数据列名称和数据类型
ALTER TABLE 数据表名称 CHANGE 数据列名称 新数据列名称 新数据类型;

-- 修改数据列数据类型
ALTER TABLE 数据表名称 MODIFY 数据列名称 新数据类型;

-- *数据库
-- 查询所有数据库
SHOW DATABASES;

-- 查询数据库结构
SHOW CREATE DATABASE 数据库名称;

-- 查询当前正在使用的数据库
SELECT DATABASE();

-- *数据表
-- 查询库中所有表
SHOW TABLES;

-- 查询表结构
DESC 数据表名称;

-- 查询表字符集
SHOW TABLE STATUS FROM 数据库名称 LIKE '数据表名称';

DML-INSERT语句

-- 给指定数据列添加一条数据
INSERT INTO 数据表名称(数据列名称1,数据列名称2,...) VALUES(值1,值2,...);

-- 默认给全部列添加数据
INSERT INTO 数据表名称 VALUES (值1,值2,值3,...);

-- 批量添加数据(数据值对应表结构)
INSERT INTO 数据表名称 VALUES (值1,值2,值3,...),(值1,值2,值3,...),(值1,值2,值3,...);

-- 给指定列添加多条数据
INSERT INTO 数据表名称(数据列名称1,数据列名称2,...) VALUES (值1,值2,...),(值1,值2,...),(值1,值2,...);

DML-UPDATE语句

-- 修改数据表数据
UPDATE 数据表名称 SET 数据列名称1 = 值1,数据列名称2 = 值2,...WHERE 条件;

DML-DELETE语句

-- 删除数据表数据
DELETE FROM 数据表名称 WHERE 条件;

DQL-单表查询

-- 查询语法
SELECT 数据列名 FROM 数据表名 WHERE 条件 GROUP BY 分组字段 HAVING 分组之后的条件 ORDER BY 排序 LIMIT() 分页

-- 查询全部
SELECT * FROM 数据表名称;

-- 查询指定数据列的数据表数据
SELECT 数据列名称1,数据列名称2,... FROM 数据表名称;

-- 查询指定数据列的数据表数据并去重
SELECT DISTINCT 数据列名称1,数据列名称2,... FROM 数据表名称;

-- 计算数据列的值(四则运算)
SELECT 数据列名称1 运算符 数据列名称2 FROM 数据表名称;

-- 起别名查询
SELECT 数据列名称 AS 别名 FROM 数据表名称;


条件查询

-- *条件查询
SELECT 数据列名称 FROM 数据表名称 WHERE 条件;

*条件分类

符号 功能
> 大于
< 小于
>= 大于等于
<= 小于等于
= 等于
<> 或 != 不等于
BETWEEN … AND … 在某个范围之内(都包含)
IN(…) 多选一
LIKE 占位符 模糊查询 _单个任意字符 %多个任意字符
IS NULL 是NULL
IS NOT NULL 不是NULL
AND 或 && 并且
OR 或 || 或者
NOT 或 ! 非,不是

聚合函数语法

-- 标准语法
SELECT 函数名(数据列名称) FROM 表名 [WHERE 条件];

*聚合函数

  • 将一列数据作为一个整体,进行纵向的计算
  • 聚合函数分类
函数名 功能
count(列名) 统计数量(记录数,总共有多少条数据)(一般选用不为null的列)
max(列名) 最大值
min(列名) 最小值
sum(列名) 求和
avg(列名) 平均值

排序查询

-- 标准语法
SELECT 数据列名称 FROM 数据表名称 [WHERE 条件] ORDER BY 数据列名称1 排序方式1,数据列名称2 排序方式2;

*排序分类

  • 注意:多个排序条件,当前边的条件值一样时,才会判断第二条件
关键词 功能
ORDER BY 列名1 排序方式1,列名2 排序方式2 对指定列排序,ASC升序(默认的) DESC降序

分组查询

-- 标准语法
SELECT 列名 FROM 表名 [WHERE 条件] GROUP BY 分组列名 [HAVING 分组后条件过滤] [ORDER BY 排序列名 排序方式];

分页查询

-- 标准语法
SELECT 列名 FROM 表名 [WHERE 条件] GROUP BY 分组列名 [HAVING 分组后条件过滤] [ORDER BY 排序列名 排序方式] LIMIT 开始索引,查询条数;
-- 公式:开始索引 = (当前页码-1) * 每页显示的条数

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