-- 第一个mysql自带有个问题
set @@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
然后关闭连接重新打开
修改MySQL编码
* 编辑配置文件:```vim /etc/my.cnf``
[client]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
* 重启MySQL
systemctl restart mysqld
* 登录并查看MySQL编码
# 123456需替换为自己的密码
mysql -uroot -p123456
# 需在MySQL的shell中执行
show variables like "%char%";
-- mysql默认的编码集是latin1,修改成utf8mb
use shujia;
-- 建表语句
-- create table 表名(
-- 字段名字 字段类型,
-- 字段2,
-- ....
-- 字段n
-- )
-- 字段定义属性时,必须给上长度,int比较特殊 不需要给默认长度为11
-- create table students(
-- id int(11),
-- name VARCHAR(255),
-- age int
-- );
-- drop table if exists students;
-- create table 表名(
-- 字段名字 字段类型 字段属性,
-- 字段2,
-- ....
-- 字段n
-- )
-- 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
-- AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
-- PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔
-- 自增只能加给数值
-- drop table student;
-- create table student(
-- id int(11) AUTO_INCREMENT,
-- name varchar(255) AUTO_INCREMENT,
-- PRIMARY KEY(id)
-- )ENGINE=INNODB default charset=utf8;
-- sex
-- enum类型 所修饰的字段 有固定的值
-- 字段名字 enum('值1','值2')
-- enum类型 所修饰的字段 有固定的值通常 这些值用数字表示
-- drop table student;
-- create table student(
-- id int AUTO_INCREMENT,
-- name VARCHAR(255) not null,
-- age INT,
-- sex enum('0','1','2'), -- sex 男 女 未知
-- PRIMARY KEY(id)
-- );
-- drop table student;
-- create table student(
-- id int,
-- name varchar(255),
-- age int not null DEFAULT 18
-- );
-- 1500100001,施笑槐,22,女,文科六班
create table students(
id int(11) not null AUTO_INCREMENT,
name VARCHAR(255) not null,
age int DEFAULT 18,
sex enum('0','1','2') default '2',
clazz enum('文1','文2','理1','理2'),
PRIMARY KEY(id)
);