一、数据模型
1-1、关系型数据库(RDBMS)
1-1-1.概念:建立在关系模型基础上,由多张相互链接的二维码组成的数据库。
1-1-2.特点:1)使用 表储存数据,格式单一,便于维护
2)使用SQL语言操作,标准统一,使用
1-1-3.数据模型
客户端->DBMS ->多个数据库->多张二维表
二、SQL通用语法及分类
2-1、SQL通用语法
2-1-1.SQL语句可以单行或多行书写,以分号结尾
2-1-2.SQL语句可以使用空格/缩进来增强语句的可读性
2-1-3.MySQl数据库的SQL语句不区分大小写,关键字建议使用大写。
2-1-4.注释:1)单行注释:--注释内容 或 #注释内容(MySQL特有)
2)多行注释:/* 注释内容 */
2-2、SQL分类
2-2-1.DDL(Data Definition Language):数据定义语言,用来定义数据库对象(数据库、表、字段)
2-2-2.DML(Data Manipulation Language):数据操作语言,用来对数据库中的数据进行增删改
2-2-3.DQL(Data Query Language):数据查询语言,用来查询数据库中表的记录
2-2-4.DCL(Data Control Language):数据控制语言,用来创建数据库用户、控制数据库的访问权限
2-3、DDL-数据库操作 [括号里的可加可不加] 写代码的时候不需要加括号
2-3-1.查询 1)查询所有数据库 SHOW DATABASES;
2)查询当前数据库 SELECT DATEBASE();
2-3-2.创建 CREATE DATABASE[IF NOT EXISTS]数据库名[DEFAULT CHARSET 字符集][COLLATE 排序规则];
字符集 utf8mb4
2-3-3.删除DROP DATABASE[IF EXISTS]数据库名;
2-3-4.使用 USE 数据库名;
- DDL-表操作-查询
1.查询当前数据库所有表 SHOW TABLES;
2.查询表结构 DESC 表名;
3.查询指定表结构的建表语句 SHOW CREATE TABLE 表名;
- DDL-表操作-创建
CREATE TABLE 表名(
字段1 字段1类型[COMMENT 字段1注释],
字段2 字段2类型[COMMENT 字段1注释],
字段3 字段3类型[COMMENT 字段1注释],
字段4 字段4类型[COMMENT 字段1注释],
……,
字段n 字段n类型[COMMENT 字段1注]
)[COMMENT 表注释];
- DDL-表操作-数据类型
1.数值类型 有符号(SIGNED) 无符号(UNSIGNED)
TINYINT:
SMALLINT:
MEDIUMINT:
INT/INTEGER:
BIGINT:
FLOAT:
DOUBLE EG: SCORE DOUBLE(4,1)
DECIMAL:
2.字符串类型
CHAR 定长字符串 eg:CHAR(10) 性能好
VARCHAR 变长字符串 内存优化,性能较差
TINYBLOB 二进制
TINYTEXT
BLOB
TEXT
MEDIUMBLOB
MEDIUMTEXT
LONGBLOB
LONGTEXT
3.日期类型
类型 | 大小 | 范围 | 格式 | 描述 |
DATE | 3 | 1000-01-01至9999-12-31 | YYYY-MM-DD | 日期值 |
TIME | 3 | -838:59:59至838:59:59 | HH:MM:SS | 时间值或持续时间 |
YEAR | 1 | 1901-2155 | YYYY | 年份值 |
DATETIME | 8 | 1000-01-01 00:00:00 至9999-12-31 23:59:59 | 混合日期和时间值 | |
TIMESTAMP | 4 | 1970-01-01 00:00:01 至2038-01-19 03:14:07 | 同上+时间戳 |
- DDL-表操作-修改
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 表名; //只有表结构,数据清空