目录
一、创建表
--创建表
drop table user
create table user(
id INT,
name VARCHAR(255),
password VARCHAR(255),
birthday DATE
) CHARACTER SET utf8 COLLATE utf8_bin ENGINE INNODB
--查看表结构
DESC emp;
练习题:
创建员工表emp
--创建员工表
CREATE TABLE emp(
id INT,
name VARCHAR(32),
sex CHAR(1),
birthday DATE,
entry_date DATETIME,
job VARCHAR(32),
salary DOUBLE,
resume TEXT) CHARACTER SET utf8 COLLATE utf8_bin ENGINE INNODB;
INSERT INTO emp VALUES(10,'红孩儿','男','2002-10-01','2002-10-01 11:11:11','放火的',3000,'家里有背景,要吃唐僧肉')
二、修改表
-- 添加列
ALTER TABLE emp ADD image VARCHAR(256);
-- 添加列,带默认值
ALTER TABLE emp ADD image VARCHAR(256) NOT NULL DEFAULT '';
-- 添加列,带默认值,并且在指定列后面
ALTER TABLE emp ADD image VARCHAR(256) NOT NULL DEFAULT '' AFTER salary;
-- 修改列长度
ALTER TABLE emp MODIFY job VARCHAR(60);
-- 删除列
ALTER TABLE emp DROP image;
-- 修改表名
RENAME TABLE emp TO employee;
-- 修改表字符集
ALTER TABLE employee character set utf8;
-- 修改列名
ALTER TABLE emp CHANGE name user_name VARCHAR(64) NOT NULL DEFAULT '';
三、列类型
--即数据类型
1.类型分类
2.数值型
①整型
②bit型
③小数型
3.字符串型
①基本使用
tips:
如果表的编码是utf8 varchar(size) size = (65535-3) / 3 = 21844
如果表的编码是gbk varchar(size) size = (65535-3) / 2 = 32766
②使用细节
4.日期型
--日期类型
create table birthday0(
t1 DATE,
t2 DATETIME,
T3 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
INSERT INTO birthday0(t1,t2) VALUES('2022-06-12','2022-06-12 10:10:10')
SELECT * FROM birthday0