一.数据类型
1.MySQL中定义数据字段的类型对你数据库的优化是非常重要的。
2.MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。
① 字符类型:char varchar text blob
②数值类型:int bigint float decimal
int -> int
bigint -> long
float -> 成绩
decimal -> 货币类型(精度,小数)
③日期类型:date time datetime timestamp
date -> yyyy:MM:dd HH:mm:ss
time -> HH:mm:ss
datetime -> yyyy:MM:dd
timestamp(时间戳) -> 长整数
二.建表和约束
1.建表
create table t_mvc_bg(
id int PRIMARY key,
name varchar(10)
)
2 .查看表结构:DESC 表名
3.修改列名
语法:ALTER TABLE t_mvc_bg CHANGE COLUMN publishdate pubDate DATETIME(DATETIME为类型);
例:ALTER TABLE t_mvc_bg CHANGE COLUMN name sname varchar(20);( t_mvc_bg表中name为sname)
4.添加新列
语法:ALTER TABLE author ADD COLUMN annual DOUBLE;
例:ALTER TABLE t_mvc_bg ADD COLUMN age int;
5.删除列
语法:ALTER TABLE book_author DROP COLUMN annual;
例:ALTER TABLE t_mvc_bg DROP COLUMN age ;
6.修改表名
例:ALTER TABLE t_mvc_bg RENAME TO t_mvc_kk;(把原本为 t_mvc_bg的表名改为 t_mvc_kk)
7.表的复制
①复制表的结构+数据
CREATE TABLE t_mvc_book_copy
SELECT * FROM t_mvc_book;
②只复制某几个列
CREATE TABLE t_mvc_book_copy
SELECT bid,bname FROM t_mvc_book;
③.只复制表结构
CREATE TABLE t_mvc_book_copy LIKE t_mvc_book;
④仅仅复制某些字段
CREATE TABLE t_mvc_book_copy
SELECT id,bname
FROM t_mvc_book
WHERE 1=0;
8.添加非空约束
ALTER TABLE stuinfo MODIFY COLUMN stuname VARCHAR(20) NOT NULL;
9.添加默认约束
ALTER TABLE stuinfo MODIFY COLUMN age INT DEFAULT 18;
10.添加主键
①列级约束
ALTER TABLE stuinfo MODIFY COLUMN id INT PRIMARY KEY;
②表级约束
ALTER TABLE stuinfo ADD PRIMARY KEY(id);
11.添加唯一
①列级约束
ALTER TABLE stuinfo MODIFY COLUMN seat INT UNIQUE;
②表级约束
ALTER TABLE stuinfo ADD UNIQUE(seat);
11.删除非空约束
ALTER TABLE stuinfo MODIFY COLUMN stuname VARCHAR(20) NULL;
12.删除默认约束
ALTER TABLE stuinfo MODIFY COLUMN age INT ;
13.删除主键
ALTER TABLE stuinfo DROP PRIMARY KEY;
14.删除唯一
ALTER TABLE stuinfo DROP INDEX seat;