SQL的语法
- SQL通用语法
- SQL语句可以单行或多行书写,以分号(“;”)结尾。
- SQL语句可以使用空格或缩进增强可读性。
- MySQL数据库的SQL语句不区分大小写(建议关键字大写)。
- 注释
单行注释:多行注释:
- SQL语句分类
分类全称说明DDLData Definition Language数据定义语言,用于定于数据库对象(数据库、表、字段)DMLData Manipulation Language数据操作语言,用来对数据库表中数据进行增加、删除、修改DQLData Query Language数据查询语言,用于查询数据库表中的记录DCLData Control Language数据控制语言,用于创建数据库、操控数据库的访问权限
数据定义语言
- 数据库操作 —— 数据定义(DDL)
- 查询:
查询所有数据库:查询当前数据库: - 创建:
- create database [if not exists] 数据库名称 [default charset 字符集] [collate 排序规则];
复制代码 (PS:方括号("[]")内的为可选项;字符集推荐使用utf8mb4;)
(意义:[if not exists]意义为若数据库内已存在该名称的数据库则不执行;)
- 删除:
- drop database [if exists] 数据库名称;
复制代码 (PS:方括号("[]")内的为可选项;)
(意义:[if exists]意义为若数据库存在则执行删除;)
- 使用:
- 数据库操作 —— 数据定义(DDL)- 查询
- 查询当前数据库所以的表:
- 查询表结构:
- 查询指定表的建表语句:
- 数数据库操作 —— 数据定义(DDL)- 创建
- create table 表名(
- 字段1 字段1的类型 [comment 字段1注释],
- 字段2 字段2的类型 [comment 字段2注释],
- 字段3 字段3的类型 [comment 字段3注释]
- ) [comment 表注释]
复制代码 (PS:方括号("[]")内的为可选项;)
- 数据库操作 —— 数据定义(DDL)- 数据类型
MySQL主要数据库类型:
- 数值类型:
(PS:DOUBLE需要设置精度、标度;)
(意义:精度意义为数值总长度;标度意义为小数点位数;)
(案例:[字段名 TINYINT UNSIGNED] 意义为当前使用的TINYINT数据类型使用的是无符号的;)
- 字符串类型:
(PS:带BLOB的为二进制存储数据类型;CHAR类型若存储没有达到设定的长度则会用空格填充;VARCHARA类型为所占用的长度则为所占用的空间;)
(案例:[char(10)] 意义为最大长度为10的字符;)
- 日期时间类型:
- 数据库操作 —— 数据定义(DDL)- 修改
- 添加字段:
- alter table 表名 add 字段名 类型(长度) [comment 注释] [约束]
复制代码 (PS:方括号("[]")内的为可选项;)
- 修改数据类型:
- alter table 表名 modify 字段名 新数据类型(长度);
复制代码 - 修改字段名和字段类型:
- alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释] [约束];
复制代码 (PS:方括号("[]")内的为可选项;)
- 删除字段:
- 修改表名:
- alter table 表名 rename to 新表名;
复制代码
- 数据库操作 —— 数据定义(DDL)- 删除
- 删除表:
- drop table [if exists] 表名;
复制代码 (PS:方括号("[]")内的为可选项;)
(意义:[if exists]意义为若数据库存在则执行删除;)
- 删除指定表,并重新创建该表:
数据操作语言
- 数据库操作 —— 数据操作(DML)- 添加数据
- 给指定字段添加数据:
- insert into 表名(字段1,字段2,字段3) values(值1,值2,值3);
复制代码 - 给全部字段添加数据:
- insert into 表名 values(值1,值2,值3);
复制代码 - 批量给指定字段添加数据:
- insert into 表名(字段1,字段2) values(值1,值2),(值1,值2);
复制代码 - 批量给全部字段添加数据:
- insert into 表名 values(值1,值2),(值1,值2),(值1,值2);
复制代码 (PS:添加的数据类型为字符串、日期应该包含在引号('')中;添加的字符串类型大小应该在字段规定的范围内;)
- 数据库操作 —— 数据操作(DML)- 修改数据
- 修改表的数据:
- update 表名 set 字段名1 = 值1,字段名2 = 值2,字段名3 = 值3 [where 条件];
复制代码 (PS:方括号("[]")内的为可选项;)
- 数据库操作 —— 数据操作(DML)- 删除数据
- 删除表的数据:
- delete from 表名 [where 条件];
复制代码 (PS:方括号("[]")内的为可选项;)
数据查询语言
<ul>数据库操作 —— 数据查询(DQL)
语法:
语法:解释:select字段列表from表名列表where条件列表group by分组字段列表having分组后条件列表order by排序字段列表limit分页参数数据库操作 —— 数据查询(DQL)- 基本查询
- 查询多个字段:
- select 字段1,字段2,字段3 from 表名;
复制代码 - 查询所有字段:(PS:在开发中建议不要使用星号“※”;)
- 设置别名:
- select 字段1 as 别名1,字段2 as 别名2 from 表名;
复制代码 - 去除重复记录:
- select distinct 字段列表 from 表名;
复制代码 数据库操作 —— 数据查询(DQL)- 条件查询(where)
<ol>语法:- select 字段列表 from 表名 where 条件列表;
复制代码 条件:
[table][tr]比较运算符功能[/tr][tr][td]>[/td][td]大于[/td][/tr][tr][td]>=[/td][td]大于等于[/td][/tr][tr][td]<strong> |