MySQL 建表
启动服务
在 我的电脑 -> 服务与应用程序 -> 服务中开启 mysql 服务。
登陆账号
# -u 后面为用户名 -p 后输入密码
mysql -u root -p
退出账号
quit
建表
设置当前字符集
SET NAMES GBK;
创建数据库
创建 mydatabase 数据库,字符集设置为UTF8
CREATE DATABASE IF NOT EXISTS `mydatabase` DEFAULT CHARACTER SET `UTF8`;
进入数据库
USE `mydatabase`;
创建表结构
CREATE table IF NOT EXISTS `user`
(
id SMALLINT,
username VARCHAR(20),
age TINYINT,
sex ENUM('男','女','保密'),
email VARCHAR(50),
addr VARCHAR(20),
birth YEAR,
salary FLOAT(8,2),
tel INT,
married TINYINT(1)
)ENGINE=INNODB CHARSET=UTF8;
查看
# 查看表信息
show tables;
# 查看警告内容
show warnings;
MySQL常用数据类型
数值类型
类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途 |
---|---|---|---|---|
TINYINT | 1 字节 | (-128,127) | (0,255) | 小整数值 |
INT | 4 字节 | (-(2^31), 2^31-1) | (0,2^32-1) | 大整数值 |
BIGINT | 8 字节 | (-(2^63), 2^63-1) | (0,2^64-1) | 极大整数值 |
FLOAT | 4 字节 | 单精度, 浮点数值 | ||
DECIMAL | DECIMAL(M,D) | 依赖于M和D的值 | 如果M>D,为M+2否则为D+2 | 小数值 |
字符串类型
类型 | 大小 | 用途 |
---|---|---|
CHAR | 0-255字节 | 定长字符串 |
VARCHAR | 0-65535 字节 | 变长字符串 |
TEXT | 0-65535 字节 | 长文本数据 |
速度比较:char > varchar > text
ps. VARCHAR 结尾后面空格被去掉
日期和时间类型
类型 | 大小 | 范围 | 格式 | 用途 |
---|---|---|---|---|
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 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
insert test VALUES('1 12:12:12')
# 天 时 分 秒
其他类型
# 枚举类型 ENUM 可以为NULL
# 集合类型 name SET('a','b','c')