文章目录
- 1 MySQL的优势
- 2 MySQL数据类型
- 1 数字类型
- 2 日期和时间类型
- 3 字符串类型
- 3 数据库管理
- 4 数据表管理
- 参考
1 MySQL的优势
- 性能优化:通过优化存储引擎(InnoDB,MyISAM)和查询优化。解决大规模数据处理和查询优化
- 开源,跨平台,支持标准的SQL,灵活(支持多种框架和编程语言)
- 安全:身份验证,数据加密,权限控制
- 扩展性好,可以满足不同规模和最求的应用
- 灵魂性高,支持多种编程语言和开发框架
MySQL安装 https://blog.csdn.net/qq_44776065/article/details/140535624
2 MySQL数据类型
1 数字类型
TINYINT 1 Bytes
SMALLINT 2 Bytes
MEDIUMINT 3 Bytes
INT或INTEGER 4 Bytes
BIGINT 8 Bytes
FLOAT 4 Bytes
DOUBLE 8 Bytes
DECIMAL(M, D) 根据M,D
【其中】精确数值类型 DECIMAL
- 用于存储带固定小数位的数值,比如货币,以避免精度的问题
- 用法:
DECIMAL(M,D)
M是精度,包括小数点后的树,最大65;D是小数点的位数,标度,最大为30 - 省略了 M 和 D,默认值是 DECIMAL(10,0)
DECIMAL(5,2)
可以存储最大为 999.99 的数值
【常用】:INT, FLOAT, DECIAML
2 日期和时间类型
DATE 3Bytes YYYY-MM-DD 日期值
TIME 3Bytes HH:MM:SS 时间值或持续时间
YEAR 1Bytes YYYY 年份值
DATETIME 8Bytes YYYY-MM-DD hh:mm:ss 混合日期和时间值
TIMESTAMP 4Bytes YYYY-MM-DD hh:mm:ss 混合日期和时间值,时间戳
【注意】
- timestamp 只占 4 个字节,而且是以utc的格式储存, 它会自动检索当前时区并进行转换
- datetime以 8 个字节储存,不会进行时区的检索
- 如果存进去的是NULL,timestamp会自动储存当前时间,而 datetime会储存 NULL
【常用】: DATE,DATETIME
3 字符串类型
+ CHAR 0-255 bytes 定长字符串
+ VARCHAR 0-65535 bytes 变长字符串
+ TINYBLOB 0-255 bytes 不超过 255 个字符的二进制字符串
+ TINYTEXT 0-255 bytes 短文本字符串
+ BLOB 0-65 535 bytes 二进制形式的长文本数据
+ TEXT 0-65 535 bytes 长文本数据
+ MEDIUMBLOB 0-16 777 215 bytes 二进制形式的中等长度文本数据
+ MEDIUMTEXT 0-16 777 215 bytes 中等长度文本数据
+ LONGBLOB 0-4 294 967 295 bytes 二进制形式的极大文本数据
+ LONGTEXT 0-4 294 967 295 bytes 极大文本数据
【常用】: VARCHAR 和 TEXT
3 数据库管理
数据库管理主要有创建数据库,设置字符集,删除数据库
查看所有数据
show databases;
创建数据库并制定字符集
CREATE DATABASE mydb CHARACTER SET utf8;
查看数据集中的字符集
SHOW CREATE DATABASE mydb;
删除数据库
DROP database mydb;
4 数据表管理
对数据表进行管理时,需要指定数据库;行为包括创建表,查看表,删除表,修改表。
切换数据库
USE mydb;
查看所有的表
SHOW tables;
创建表,创建表的过程需要指定【字段名】【列类型】(这两个是必不可少的);同时可以指定【属性(是否为空)】【索引】【注释】
CREATE TABLE users(
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(100) NOT NULL,
birthday DATE,
is_active BOOLEAN DEFAULT TRUE
);
查看表的结构
DESC users;
删除表
DROP TABLE users;
修改表,对表中的列进行操作:增加列,删除列,修改列;
增加一列:需要制定【字段名】和【类型】
ALTER TABLE users ADD COLUMN phone_number VARCHAR(30);
删除一列
ALTER TABLE users DROP COLUMN phone_number;
修改列的数据类型
ALTER TABLE users MODIFY COLUMN phone_number VARCHAR(40);
修改列的名称和数据类型
ALTER TABLE users CHANGE COLUMN phone_number my_phone VARCHAR(40);
参考
MySQL简介 https://www.bilibili.com/video/BV15m421T7RQ