MySQL数据类型,建表,约束

前言:给大家讲解MySQL数据类型,建表,约束

码字不易,点个关注

转载请说明!

开发工具:MySQL


思维导图:


一、数据类型

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(时间戳) -> 长整数

二、建表

1.建表语句

create table 表名(
列名 列的类型【(长度) 约束】,
列名 列的类型【(长度) 约束】,
列名 列的类型【(长度) 约束】,
...
列名 列的类型【(长度) 约束】
)

2.表的复制

INSERT INTO author VALUES
(1,'村上春树','日本'),
(2,'莫言','中国'),
(3,'冯唐','中国'),
(4,'金庸','中国');
SELECT * FROM Author;
SELECT * FROM copy2;

1.仅仅复制表的结构

​CREATE TABLE copy LIKE author;

2.复制表的结构+数据

CREATE TABLE copy2
SELECT * FROM author;

3.只复制部分数据

CREATE TABLE copy3
SELECT id,au_name
FROM author
WHERE nation='中国';

4.仅仅复制某些字段

CREATE TABLE copy4
SELECT id,au_name
FROM author
WHERE 0;

三、主键(自动增长)、外检、非空等约束的使用

约束:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性

NOT NULL:非空,用于保证该字段的值不能为空

DEFAULT:默认,用于保证该字段有默认值

PRIMARY KEY:主键,用于保证该字段的值具有唯一性,并且非空

UNIQUE:唯一,用于保证该字段的值具有唯一性,可以为空

CHECK:检查约束【mysql中不支持】

FOREIGN KEY:外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值

添加约束的时机:
1.创建表时
2.修改表时

约束的添加分类:
列级约束:六大约束语法上都支持,但外键约束没有效果

表级约束:除了非空、默认,其他的都支持

CREATE TABLE 表名(
字段名 字段类型 列级约束,
字段名 字段类型,
表级约束
)

列级约束:

直接在字段名和类型后面追加 约束类型即可

USE students;
DROP TABLE stuinfo;

CREATE TABLE stuinfo(
id INT PRIMARY KEY,#主键
stuName VARCHAR(20) NOT NULL UNIQUE,#非空
gender CHAR(1) CHECK(gender='男' OR gender ='女'),#检查
seat INT UNIQUE,#唯一
age INT DEFAULT 18,#默认约束
majorId INT REFERENCES major(id)#外键
);


CREATE TABLE major(
id INT PRIMARY KEY,
majorName VARCHAR(20)
);

表级约束:

语法:在各个字段的最下面 ,constraint 约束名, 约束类型(字段名)

DROP TABLE IF EXISTS stuinfo;
CREATE TABLE stuinfo(
id INT,
stuname VARCHAR(20),
gender CHAR(1),
seat INT,
age INT,
majorid INT,

CONSTRAINT pk PRIMARY KEY(id),#主键
CONSTRAINT uq UNIQUE(seat),#唯一键
CONSTRAINT ck CHECK(gender ='男' OR gender = '女'),#检查
CONSTRAINT fk_stuinfo_major FOREIGN KEY(majorid) REFERENCES major(id)#外键

);

到这里就结束了,我依旧是那个学IT的小学生 

欢迎大佬指点 

猜你喜欢

转载自blog.csdn.net/weixin_56069070/article/details/120160240