一SQL通用语法
1)SQL语句可以单行或多行书写,以分号结尾。
2)SQL语句可以使用空格/缩进来增强语句的可读性
3)MYSQL数据库的SQL不区分大小写,关键字建议使用大写
4)注释:
单行注释:–注释内容 或#注释内容(MYSQL特有)
多行注释:/*注释内容*/
二 SQL分类和使用
2.0 分类
2.1 DDL
2.1.0 DDL----数据库操作
1]查询数据库
查询所有数据库:
SHOW DATABASES;
查询当前数据库:
SELECT DATABASE();
2]创建数据库
CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];
3]删除数据库
DROP DATABASE[IF EXISTS] 数据库名;
4]使用数据库
USE 数据库名;
PS : 方括号中代表可选,实际如果要使用不加方括号
2.1.1 DDL-表操作-查询
1】查询当前数据库所有表
SHOW TABLES;
2】查询表结构
DESC 表名;
3]查询指定表的建表语句
SHOW CREATE TABLE 表名;
ENGINE=InnoDB DEFALUT CHARSET=utf8mb4 COLLATE=utf8mb_0900_ai_ci COMMENT=‘用户表’
存储引擎 默认的 字符集 排序规则 注释
2.1.2 DDL-表操作-创建
建表
CREATE TABLE 表名(字段1 字段1的类型 COMMENT '注释',字段2 字段2的类型 COMMENT '注释',字段3 字段3的类型 COMMENT '注释')COMMENT ‘注释’;
2.1.3 DDL-数据类型
1)数值型数据
1.56为例:精度为3代表整个数值的长度,标度为2代表小数的位数;
存储数据的时候我们尽考略实际意义和存储大小如年龄的范围一般用TINYINT即可;
age TINYINT UNSIGNED
如分数:socre double(4,1) 即可 具体情况具体分析
2)字符串型数据
定长字符串:char(10)即使只存储1个字符也会占用10个字符的空间,其他空间空格补上
变长字符:varchar(10)如果只使用了1个字符就只占用一个字符的空间
char-----------------性能高,节省时间
varhar---------------性能没那么高,因为varchar会有一个运算计算实际的空间,节省空间
定长一般使用char,变长一般使用varchar
3)日期类型
TIMESTAMP 最多描述到2038年
YYYY-----年
MM--------月
DD---------日
HD---------时
MM---------分
SS----------秒
2.1.4 DDL-表操作-修改
1)添加字段
ALTER TABLE 表名 ADD 字段名 字段类型(长度) [comment 注释] [约束];
2)修改字段
1】修改字段类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
2]修改字段名
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [comment 注释] [约束]
3】删除字段
ALTER TABLE 表名 DROP 字段名;
4]修改表名
ALTER TABLE 表名 RENAME TO 新表名;
5]删除表
PS: 方括号中为可选选项
DROP TABLE [IF EXISTS] 表名;
两者的区别在于前者如果表名不存在不会报错,而后者会;
DROP TABLE 表名;
6]清空表的数据,只留下表的结构
TRUNCATE TABLE 表名;