当前位置:首页 > MySQL基础 学习 超级详细
size ENUM('x-small', 'small', 'medium', 'large', 'x-large')
);
INSERT INTO shirts (name, size) VALUES ('dress shirt','large'), ('t-shirt','medium'),('polo shirt','small'); set
集合类型
A SET column can have a maximum of 64 distinct members.
示例:
CREATE TABLE myset (col SET('a', 'b', 'c', 'd'));
INSERT INTO myset (col) VALUES ('a,d'), ('d,a'), ('a,d,a'), ('a,d,d'), ('d,a,d');
DATE
YYYY-MM-DD(1000-01-01/9999-12-31)
TIME
HH:MM:SS('-838:59:59'/'838:59:59')
YEAR
YYYY(1901/2155)
DATETIME
YYYY-MM-DD HH:MM:SS(1000-01-0100:00:00/9999-12-3123:59:59 Y)
TIMESTAMP
YYYYMMDD HHMMSS(1970-01-0100:00:00/2037年某时)
1.6、修改表(alter)
修改表 更多参考:
?
http://www.runoob.com/mysql/mysql-data-types.html
1.7、数据表关系
关联映射:一对多/多对一
存在最普遍的映射关系,简单来讲就如球员与球队的关系;
一对多:从球队角度来说一个球队拥有多个球员即为一对多
多对一:从球员角度来说多个球员属于一个球队即为多对一 数据表间一对多关系如下图:
关联映射:一对一
一对一关系就如球队与球队所在地址之间的关系,一支球队仅有一个地址,而一个地址区也仅有一支球队。
数据表间一对一关系的表现有两种,一种是外键关联,一种是主键关联。图示如下:
一对一外键关联:
一对一主键关联:要求两个表的主键必须完全一致,通过两个表的主键建立关联关系
关联映射:多对多
多对多关系也很常见,例如学生与选修课之间的关系,一个学生可以选择多门选修课,而每个选修课又可以被多名学生选择。
数据库中的多对多关联关系一般需采用中间表的方式处理,将多对多转化为两个一对多
1.8、数据表之间的约束
约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性、唯一性。 MYSQL中,常用的几种约束:
===================================================
主键(PRIMARY KEY)是用于约束表中的一行,作为这一行的标识符,在一张表中通过主键就能准确定位到一行,因此主键十分重要。主键要求这一行的数据不能有重复且不能为空。
还有一种特殊的主键——复合主键。主键不仅可以是表中的一列,也可以由表中的两列或多列来共同标识
=================================================== 默认值约束(DEFAULT)规定,当有DEFAULT约束的列,插入数据为空时该怎么办。
DEFAULT约束只会在使用INSERT语句(上一实验介绍过)时体现出来,INSERT语句中,如果被DEFAULT约束的位置没有值,那么这个位置将会被DEFAULT的值填充
=================================================== 唯一约束(UNIQUE)比较简单,它规定一张表中指定的一列的值必须不能有重复值,即这一列每个值都是唯一的。
当INSERT语句新插入的数据和已有数据重复的时候,如果有UNIQUE约束,则INSERT失败. =================================================== 外键(FOREIGN KEY)既能确保数据完整性,也能表现表之间的关系。
一个表可以有多个外键,每个外键必须REFERENCES(参考)另一个表的主键,被外键约束的列,取值必须在它参考的列中有对应值。 在INSERT时,如果被外键约束的值没有在参考列中有对应,比如以下命令,参考列(department表的dpt_name)中没有dpt3,则INSERT失败 =================================================== 非空约束(NOT NULL),听名字就能理解,被非空约束的列,在插入值时必须非空。 在MySQL中违反非空约束,不会报错,只会有警告. 例子 2、数据库和表内容的操作(增、删、改、查) 1、增 insertinto表 (列名,列名...) values (值,值,值...) insertinto表 (列名,列名...) values (值,值,值...),(值,值,值...) insertinto表 (列名,列名...) select (列名,列名...) from表 2、删 deletefrom表 deletefrom表where id=1and name='alex' 3、改 update表set name ='alex'where id>1 4、查 4.1、普通查询 select*from表 select*from表where id >1 selectnid,name,gender as gg from表where id >1 更多选项查询 4.2、数据排序(查询) 排序
共分享92篇相关文档