SQL的语法
SQL通用语法
SQL语句可以单行或多行书写,以分号(“;”)结尾。
SQL语句可以使用空格或缩进增强可读性。
MySQL数据库的SQL语句不区分大小写(建议关键字大写)。
注释
单行注释:
-- 内容
# 内容(MySQL特有)
多行注释:
/* 内容 */
SQL语句分类
数据库操作(DDL)
查询:
查询所有数据库:
SHOW DATABASES;
查询当前数据库:
SELECT DATABASE();
创建:
CREATE DATABASE [IF NOT EXISTS] 数据库名称 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];
(PS:方括号("[]")内的为可选项;字符集推荐使用utf8mb4;)
(意义:[IF NOT EXISTS]意义为若数据库内已存在该名称的数据库则不执行;)
删除:
DROP DATABASE [IF EXISTS] 数据库名称;
(PS:方括号("[]")内的为可选项;)
(意义:[IF EXISTS]意义为若数据库存在则执行删除;)
使用:
USE 数据库名称;
数据库操作(DDL)- 查询
查询当前数据库所以的表:
SHOW TABLES;
查询表结构:
DESC 表名;
查询指定表的建表语句:
SHOW CREATE TABLE 表名;
数据库操作(DDL)- 创建
<数据库操作(DDL)- 创建 - 数据库:tb_user>
CREATE TABLE 表名( 字段1 字段1的类型 [COMMENT 字段1注释], 字段2 字段2的类型 [COMMENT 字段2注释], 字段3 字段3的类型 [COMMENT 字段3注释] ) [COMMENT 表注释]
(PS:方括号("[]")内的为可选项;)
数据库操作(DDL)- 数据类型
<数据库操作(DDL)- 数据类型 - 案例:08案例.txt>
<数据库操作(DDL)- 创建 - 数据库:emp>
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 表名 DROP 字段名;
修改表名:
ALTER TABLE 表名 RENAME TO 新表名;
数据库操作(DDL)- 删除
删除表:
DROP TABLE [IF EXISTS] 表名;
(PS:方括号("[]")内的为可选项;)
(意义:[IF EXISTS]意义为若数据库存在则执行删除;)
删除指定表,并重新创建该表:
TRUNCATE TABLE 表名;