一、SQL通用语法:
1、SQL语句可以单行或多行书写,以分号结尾
2、SQL语句可以使用空格/缩进来增强语句的可读性
3、MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
4、注释:
单行注释: --注释内容 或 #注释内容(MySQL特有)
多行注释:/ * 注释内容 * /
二、SQL分类
SQL分类 | 全称 | 说明 |
---|---|---|
DDL | Data Definition Languege | 数据定义语言,用来定义数据库对象(数据库、表、字段) |
DML | Data Manipulation Languge | 数据操作语言,用来对数据库表中的数据进行增删改 |
DQL | Data Query Languge | 数据查询语言,用来查询数据库中的表的记录 |
DCL | Data Control Languge | 数据控制语言,用来创建数据库用户、控制数据库的访问权限 |
各类SQL语言的使用场景:
三、DDL
数据定义语言。用于数据定义,数据库表定义、数据库字段的定义
(一).数据库操作
1、数据库查询
查询所有的数据库
SHOW DATABASES;
查询当前数据库
SELECT DATABASE();
2、创建数据库
CREATE DATABASES [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE排序规则];
3、删除数据库
DROP DATABASE [IF EXISTS] 数据库名;
4、使用某一数据库
USE 数据库名;
DDL使用案例:
(二)、表操作-创建和查询
1、查询当前数据库所有表
SHOW TABLES;
(一定要在某个数据库中使用该命令)
2、查询表结构
DESC 表名;
3、查询指定表的建表语句
SHOW CREATE TABLE 表名;
4、表操作-创建
CREATE TABLE 表名(
字段1 字段1类型[COMMENT 字段1注释],
字段2 字段1类型[COMMENT 字段2注释],
字段3 字段1类型[COMMENT 字段3注释],
… …
字段n 字段n类型[COMMENT 字段n注释]
)[COMMENT 表注释]
注:[…]为可选参数,最后一个字段后面没有逗号
示例1:使用系统库,再查看系统库里的表结构
示例2:按照如下表格创建表结构:
(三)、表操作-数据类型
MySQL中的数据类型很多,主要分为三类:数值类型、字符串类型、日期时间类型。
DECIMAL(M,D):M表示小数点左右位数之和,取值范围1~18,默认18;D表示小数点右侧小数位数.指定M后才能指定D。
定长字符串会使用空格补位;变长字符串长度为多少就占用多少空间。char的性能比varchar性能高,因为varchar需要计算占用空间。
(四)、表操作-修改、删除
1、添加字段
ALTER TABLE 表名 ADD 字段名 类型(长度)[COMMENT 注释] [约束];
2、修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
3、修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度)[COMMENT 注释][约束];
4、删除字段
ALTER TABLE 表名 DROP 字段名;
5、修改表名
ALTER TABLE 表名 RENAME TO 新表名;
6、删除表
DROP TABLE [IF EXISTS] 表名;
7、删除指定表,并重新创建该表(此方式表中的数据不存在,只保留了表结构)
TRUNCATE TABLE 表名;
四、DDL语法总览
DLL-数据库操作
SHOW DATABASES;
CREATE DATABASE 数据库名;
USE 数据库名;
SELECT DATABASE();
DROP DATABASE 数据库名;
DLL-表操作
SHOW TABLES;
CREATE TABLE表名(字段 字段类型, 字段 字段类型);
DESC 表名;
SHOW CREATE TABLE 表名;
ALTER TABLE 表名 ADD/MODIFY/CHANGE/DROP/RENAME TO …;
DROP TABLE 表名;