项目中遇到的问题美高梅官方网站

完整性约束

mySql常用类型:

完整性约束是为了表的数据的正确性!如果数据不正确,那么一开始就不能添加到表中。

int:整型  默认长度11  10位长度

1 主键

double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;

当某一列添加了主键约束后,那么这一列的数据就不能重复出现。这样每行记录中其主键列的值就是这一行的唯一标识。例如学生的学号可以用来做唯一标识,而学生的姓名是不能做唯一标识的,因为学生姓名有可能同名。主键列的值不能为NULL,也不能重复!

decimal:泛型型,在表单钱方面使用该类型,因为不会出现精度缺失问题;

指定主键约束使用PRIMARY KEY关键字

char:固定长度字符串类型;默认 1个长度

创建表:定义列时指定主键:

varchar:可变长度字符串类型;相当于String  默认长度自己定义

CREATE TABLE stu PRIMARY KEY, sname VARCHAR, age INT, gender VARCHAR;

text:字符串类型;文本

创建表:定义列之后独立指定主键:

blob:字节类型;

CREATE TABLE stu, sname VARCHAR, age INT, gender VARCHAR); 

date:日期类型,格式为:yyyy-MM-dd;date  Format  SimpleDateFormat

修改表时指定主键:

time:时间类型,格式为:hh:mm:ss  08:02:00

ALTER TABLE stuADD PRIMARY KEY;

ALTER TABLE stu DROP PRIMARY KEY;

timestamp:时间戳类型;

2 主键自增长

CREATE TABLE emp(

MySQL提供了主键自动增长的功能!当主键设置为自动增长后,在没有给出主键值时,主键的值会自动生成,而且是最大主键值+1,也就不会出现重复主键的可能了。

empno                INT     PRIMARY KEY,  员工编号

创建表时设置主键自增长:

ename                VARCHAR(50), 员工姓名

CREATE TABLE stu( sid INT PRIMARY KEY AUTO_INCREMENT, sname VARCHAR, age INT, gender VARCHAR; 

job                VARCHAR(50), 员工工作

修改表时设置主键自增长:

mgr                INT, 领导编号

ALTER TABLE stu CHANGE sid sid INT AUTO_INCREMENT;

hiredate        DATE, 入职日期

修改表时删除主键自增长:

sal                DECIMAL(7,2), 月薪

ALTER TABLE stu CHANGE sid sid INT;

comm                decimal(7,2), 奖金

3 非空

deptno                INT 部分编号

指定非空约束的列不能没有值,也就是说在插入记录时,对添加了非空约束的列一定要给值;在修改记录时,不能把非空列的值设置为NULL。

);

指定非空约束:

完整性约束

CREATE TABLE stu( sid INT PRIMARY KEY AUTO_INCREMENT, sname VARCHAR NOT NULL, age INT, gender VARCHAR;

完整性约束是为了表的数据的正确性!如果数据不正确,那么一开始就不能添加到表中。

当为sname字段指定为非空后,在向stu表中插入记录时,必须给sname字段指定值,否则会报错:

1 主键

INSERT INTO stu;

当某一列添加了主键约束后,那么这一列的数据就不能重复出现。这样每行记录中其主键列的值就是这一行的唯一标识。例如学生的学号可以用来做唯一标识,而学生的姓名是不能做唯一标识的,因为学习有可能同名。

插入的记录中sname没有指定值,所以会报错!

主键列的值不能为NULL,也不能重复!

4 唯一

指定主键约束使用PRIMARY KEY关键字*(例如上面)

还可以为字段指定唯一约束!当为字段指定唯一约束后,那么字段的值必须是唯一的。这一点与主键相似!例如给stu表的sname字段指定唯一约束:

2 主键自增长

CREATE TABLE tab_ab( sid INT PRIMARY KEY AUTO_INCREMENT, sname VARCHAR; INSERT INTO sname VALUES;INSERT INTO sname VALUES;

MySQL提供了主键自动增长的功能!这样用户就不用再为是否有主键是否重复而烦恼了。当主键设置为自动增长后,在没有给出主键值时,主键的值会自动生成,而且是最大主键值+1,也就不会出现重复主键的可能了。

当两次插入相同的名字时,MySQL会报错!

创建表时设置主键自增长(主键必须是整型才可以自增长):

5 外键

CREATE TABLEstu(

主外键是构成表与表关联的唯一途径!

sid INT PRIMARY KEY AUTO_INCREMENT,

外键是另一张表的主键!例如员工表与部门表之间就存在关联关系,其中员工表中的部门编号字段就是外键,是相对部门表的外键。

sname        VARCHAR(20),

例如在t_section表中sid为1的记录说明有一个分类叫java,版主是t_user表中uid为1的用户,即zs!

)

本文由美高梅官方网站发布于数据统计,转载请注明出处:项目中遇到的问题美高梅官方网站

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。