栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MySQL 模块四复习笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL 模块四复习笔记

1.  MySQL的约束
      MySQL的约束是指数据表中数据的一种约束行为,能够帮助数据库管理员更好地管理数据库,并且能够确保数据库表中数据的正确性和一致性,主要包括主键约束、外键约束、唯一约束、非空约束、默认值约束和检查约束。

(1)主键约束(PRIMARY KEY)
      一张数据表只能有一个主键约束,并且主键约束所在的字段不能接受空值,也不可出现重复的字段值。

(2)外键约束(FOREIGN KEY)
      将一张数据表(从表)的字段定义为引用另一张数据表(主表)的主键字段,引用的字段称为外键。被引用的数据表称为主键约束表,简称主表或父表,主表的关联字段应该创建主键约束或唯一约束;引用表称为外键约束表,简称从表或子表,在引用表的关联字段上创建外键约束。

(3)唯一约束(UNIQUE)
      给字段添加唯一约束可以保证取值的不重复。

(4)非空约束(NOT NULL)

(5)默认值约束(DEFAULT)
       
(6)检查约束(CHECK)


2.创建数据表:

CREATE TABLE 用户类型(
用户类型ID   int not null ,
用户类型名称 VARCHAr(6) not null ,
用户类型说明 VARCHAR50) null
);

CREATE TABLE 商品类型(
类型编号 VARCHAr(9) not null PRIMARY KEY,
类型名称 VARCHAr(10) not null UNIQUE,
父类类型 VARCHAr(7) not null
);

CREATE TABLE 商品信息(
商品编号 VARCHAr(12) not null PRIMARY KEY,
商品名称 VARCHAr(100) not null,
商品类型 VARCHAr(9) not null,
价格 DECIMAL(8,2) not null,
品牌 VARCHAr(15) NULL
);

create table 用户注册信息表(
用户ID int not null primary key,
用户编号 varchar(6) not null unique,
用户名称 varchar(20) not null,
密码 varchar(15) not null,
权限等级 char(1) not null default"A",
手机号码 varchar(11) not null,
用户类型 int not null default 1
);


(1)添加主键
ALTER TABLE 数据表名称 ADD CONSTRAINT 约束名称 PRIMARY KEY(字段名称);

例如:
Alter Table  用户类型 Add Constraint PR_用户类型 Primary Key(用户类型ID) ;

(2)添加唯一约束
ALTER TABLE 数据表名称 ADD Constraint 主键约束名称 Unique(字段名称);

例如:
Alter Table 用户类型  Add  Constraint  UK_用户类型  Unique(用户类型名称) ; 

(3)添加外键约束(主表和从表所选的字段数据类型要相同)
Alter Table 数据表名称  Add Constraint   外键约束名称
                          Foreign Key(外键约束的字段名称)      References  主数据表名称(主表的主键字段名称) ;

例如:
Alter Table  商品信息  Add Constraint  FK_商品信息_商品类型
                          Foreign Key(商品类型)      References  商品类型(类型编号) ;

(4)添加默认值约束
ALTER TABLE 数据表名称 ALTER 设置默认值的字段名称 Set Dfault 默认值;

例如:
Alter Table  商品信息  Alter 商品类型  Set Default  '家用电器' ; 

(5)添加非空约束
Alter Table 数据表名称 Modify 设置非空约束的字段名称 数据类型 Not Null;

(6)添加检查约束
alter table 数据表名称 add constraint 检查约束名称 check(表达式);

例如:
Alter Table  订单信息  Add Constraint CHK_应付总额  Check(应付总额<=商品总额+运费) ; 

(7)添加自增属性(字段数据类型是int的情况下)
alter table 数据表名称 change 自增属性的字段名称
       (字段名称)(数据类型) unsigned auto_increment;

例如:
alter table 用户注册信息表 change  用户ID 用户ID int unsigned auto_Increment;

3.创建索引
(1)在建表的同时创建索引
例如:
create table student(
xh char(10)  primary key,
xm varchar(20)  unique,
xb   char(2),
age int
);

(2)在已存在的数据表上创建索引
使用create index语句:
Create [ Unique | Fulltext | Spatial ] Index <索引名称> 
        On  <数据表名称>( <字段名称> [<长度n>] [ Asc | Desc ] ) ; 

例如:
create unique index UK_XM on student(xm  ASC )  ;

使用Alter Table <数据表名称>  Add  index 语句
Alter Table <数据表名称>  Add [ Unique | Fulltext | Spatial ]   
       Index <索引名称>( <字段名称> [<长度n>] [ Asc | Desc ] ) ; 

例如:
alter table student add unique index UK_XM (xm desc);

(3)查看索引
SHOW INDEX FROM 数据表名称;

例如:
SHOW INDEX FROM student;


4.删除约束
(1)删除主键约束
Alter Table 数据表名称 drop primary key;

例如:alter table 用户类型 drop primary key;

(2)除唯一约束
alter table <数据表名称> drop [index|key] <唯一约束名称>;
或
drop index <唯一约束名称> on <数据表名称>;

例如:
ALTER TABLE 用户类型 DROP INDEX UK_用户类型;
或
DROP INDEXX UK_用户类型 ON 用户类型;

(3)删除存在外键约束的数据表
1)先删除从表,再删除主表
drop table <数据表名称>;

2)单独删除主表,保留从表
  Alter Table (从表名称) drop foreign key (外键约束名称);

例如:
alter table 商品信息 drop foreign key FK_商品信息_商品类型;

(4)删除默认值约束
Alter Table (数据表名称) Alter (要删除默认值的字段名称) drop default;

例如:
Alter Table 商品信息 Alter 商品类型 drop default;

(5)删除非空约束
Alter Table (数据表名称) modify (设置非空约束的字段名称)(数据类型);

(6)删除检查约束
Alter Table (数据表名称) drop check (约束名称);

例如:
ALTER TABLE 订单信息 DROP CHECK CHK_应付总额;

(7)删除数据表中的自增属性
alter table <数据表名称> change <自增属性的字段名称>
               <字段名称> <数据类型> unsigned not null;

例如: alter table 用户注册信息表 change 用户ID 用户ID INT  unsigned NOT NULL;

(8)删除数据表中的索引
1)用drop
drop index <索引名称> on <数据表名称>;

例如:
DROP INDEX UK_XM ON student;
2)用alter
alter table <数据表名称> drop index <索引名称>;

例如:alter table student drop index UK_XM;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/993358.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号