一.数据类型介绍
MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 1.字符类型:char varchar text blob 2.数值类型:int bigint float decimal int -> int bigint -> long float -> 成绩 decimal -> 货币类型(精度,小数) 3.日期类型:date time datetime timestamp date -> yyyy:MM:dd HH:mm:ss time -> HH:mm:ss datetime -> yyyy:MM:dd timestamp(时间戳) -> 长整数
自增长
id int;
name varchar;
自增长要考虑数据的大小,数据小于6w , id列使用int,大于6W可以使用varchar
1.字符类型
char 单个字符用
varchar 字符串用
text 也算是一个字符类型,在Java代码里面,用String去做text的映射
blob 二进制
2.数据类型
int 对应int
bigint 对应Java里面的long类型
float 对应成绩
decimal 对应货币类型(精度,小数)
3.日期类型
date 对应年月日 yyyy:mm:dd
time 对应时分秒 hh:mm:ss
datetime 对应年月日时分秒 yyyy:mm:dd hh:mm:ss
timestamp 对应时间戳,长整数
二.建表 删表语法
建表
加主键约束
dsec 查看表的结构
修改列名
添加新列age
删除列age
修改表名text----->student
删除表db_dzl_user_text
复制表的结构
语法:CREATE TABLE copy(复制后的表名) LIKE 复制的表;
复制表的结构+数据 语法:CREATE TABLE copy(复制后的表名) as select * from 复制的表名; CREATE TABLE Book_lgs as select * from Book_a;
复制表的结构+数据,需要的相关列
三、修改表时删除约束
1.删除非空约束
ALTER TABLE stuinfo MODIFY COLUMN stuname VARCHAR(20) NULL;
2.删除默认约束
ALTER TABLE stuinfo MODIFY COLUMN age INT ;
3.删除主键
ALTER TABLE stuinfo DROP PRIMARY KEY;
4.删除唯一
ALTER TABLE stuinfo DROP INDEX seat;
5.删除外键
ALTER TABLE stuinfo DROP FOREIGN KEY fk_stuinfo_major;
附代码
CREATE TABLE db_dzl_user_dzl(
ID int PRIMARY key,
name VARCHAR(20) not null
)
-- dsec 查看表的结构
desc db_dzl_user_student
-- 修改列名, 修改txet1表的name为sname
ALTER TABLE db_dzl_user_text1 CHANGE COLUMN name sname VARCHAR(50);
#③添加新列age
ALTER TABLE db_dzl_user_text1 ADD COLUMN age DOUBLE;
-- 删除列age
ALTER TABLE db_dzl_user_text1 DROP COLUMN age;
-- 将text表改成student表
ALTER TABLE db_dzl_user_text1 RENAME TO db_dzl_user_student;
-- 删除表
DROP TABLE IF EXISTS db_dzl_user_text;
SHOW TABLES;