一、数据类型介绍
MySQL支持多种类型,大致可以分为三类,数值、日期/时间和字符串(字符)类型
1、字符类型:char varchar text blob
2、数值类型:int bigint float decimal
int ——>int
bigint——>long
float——>成绩
decimal——>货币类型(精度,小数)
3、日期类型:data time datetime timestamp
date——>yyyy:mm:dd HH:mm:ss
time——>HH:mm:ss
datetime——>yyyy:MM:dd
timestamp(时间戳)——>长整数
二、建表、删表语法
1、表的创建
语法 create table 表名(
列名 列的类型【(长度)约束】,
列名 列的类型【(长度)约束】,
列名 列的类型【(长度)约束】
)
代码示例
create table book(
id int,
bname varchar(20),
price double
)
2、表的修改
语法 alter table 表名 add|drop|modify|change|column 列名【列类型 约束】
修改user表的name为uname
alter table book change column name uname varchar(20)
3、表的删除
删除book表的价格字段
alter table book drop column age
4、表的复制
想要改动原有表的数据,又怕出错,后续想要回退到之前的表设计
book
create table book_copy as select * from book
三、主键(自动增长)、外键、非空等约束的使用
含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性
分类:六大约束
not null 非空约束,用于保证该字段的值不能为空 比如:姓名、学号等
alter table stuinfo modify column name varchar(20) not null
default 默认约束,用于保证该字段有默认值 比如:性别
alter table stuinfo modify column age int default 18
primary key 主键约束,用于保证该字段的值具有唯一性,并且非空 比如:学号、员工编号等
alter table stuinfo modify column id int primary key
unique 唯一约束,用于保证该字段的值具有唯一性,可以为空 比如:座位号
alter table stuinfo modify column seat int unique
check 检查约束(MySQL中不支持) 比如:年龄、性别
foreign key 外键约束,用于限制两个表的关系,用于保证该字段的值必须来自于主要的关联列的值
alter table stuinfo add constraint fk_stuinfo_major foreign key(majorid) references major(id)
删除约束
删除非空约束
alter table stuinfo modify column name varchar(20) null
删除默认约束
alter table stuinfo modify column age int
删除主键
alter table stuinfo drop primary key
删除唯一
alter table stuinfo drop index seat
删除外键
alter table stuinfo drop foreign key fk_stuinfo_major