1.1 MySQL
MySQL为什么叫”My”SQL呢,原来竟然是My是他大女儿的名字,那如果二女儿长大以后嫉妒姐姐怎么办呢,那就再造个MariaDB(Maria是她二女儿名字)。
1.1.1 数据类型
1.1.1.1 数值类型
- INT (-2147483648~2147483647) 32位
- TINYINT (-128~127) 8位
- SMALLINT (-32768~32767) 16位
- MEDIUMINT 24位
- BIGINT 64位
- FLOAT
- DOUBLE
- DECIMAL 精确小数
1.1.1.2 字符类型
- VARCHAR 可变长度字符串 1-65532字节,1-255 需要一个字节的overhead,255以上需要两个字节的overhead
- CHAR 固定长度字符串,最多255个字符
- TEXT 65535个字符
- LONGTEXT
1.1.1.3 日期类型
- DATETIME 2024-04-16 17:18:49
- DATE 2024-04-16
- YEAR
- TIME
2.1 SQL(Structured Query Language
SQL语句通常用大写表示,不过混用也可以,为了代码优雅统一以后还是强制大写吧。
先会用,再去了解原理,所以先从SQL语法开始。
2.1.1常用SQL语法
SELECT DATABASE(); // 显示当前使用的数据库
SHOW DATABASES; // 显示数据库一览
use db1; // 这不是个SQL,所以小写没毛病
CREATE TABLE 表名(列名1 数据类型1, 列名2 数据类型2……) CHARSET=utf8; // 创建表
// EX. CREATE TABLE tb1(empid VARCHAR(10), name VARCHAR(10), age INT);
SHOW TABLES; // 显示所有表
DESC tb1; // 等价于 DESCRIBE tb1;
CREATE TABLE tb1replica SELECT * FROM tb1; // 通过复制创建
// 增
INSERT INTO 表名 VALUES(数据1,数据2……);
INSERT INTO 表名(列名1,列名2) VALUES(数据1,数据2); // 通过指定列,可以不按默认顺序
INSERT INTO 表名(列名1,列名2) VALUES(数据1,数据2),数据3,数据4); // 插入多个
// 查
SELECT * FROM tb1;