新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
主键约束:唯一,不重复,不能为空 primary key
创新互联服务项目包括东港网站建设、东港网站制作、东港网页制作以及东港网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,东港网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到东港省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
一个表中有且只有一个主键约束
1.创建表的同时创建主键约束
格式一:
create table 表名(
列名1 数据类型 primary key,
列名2 数据类型
);
主键约束名字的写法: PK_列名
格式二:
create table 表名(
列名1 数据类型,
列名2 数据类型,
constraint 主键约束的名字 primary key(列名1)
);
格式三:
create table 表名(
列名1 数据类型,
列名2 数据类型,
primary key(列名1)
);
2.针对已经存在的表,添加主键约束
格式一:
alter table 表名 modify 列名 数据类型 primary key;
格式二:
alter table 表名 add primary key(列名);
格式三:
alter table 表名 add constraint 主键约束的名字 primary key(列名);
3.删除主键约束
格式:alter table 表名 drop primary key;
1、创建表格时添加: create table table1(id int auto_increment primary key,…)
2、创建表格后添加: alter table table1 add id int auto_increment primary key 自增字段,一定要设置为primary key.
附:mysql 中的alter table mysql alter table employee change depno depno int(5) not null;
加索引 mysql alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
例子: mysql alter table employee add index emp_name (name);
加主关键字的索引 mysql alter table 表名 add primary key (字段名);
例子: mysql alter table employee add primary key(id);
加唯一限制条件的索引 mysql alter table 表名 add unique 索引名 (字段名);
例子: mysql alter table employee add unique emp_name2(cardnumber);
查看某个表的索引 mysql show index from 表名; 例子: mysql show index from employee;
删除某个索引 mysql alter table 表名 drop index 索引名; 例子: mysqlalter table employee drop index emp_name;
修改表:增加字段:mysql ALTER TABLE table_name ADD field_name field_type;
查看表:mysql SELECT * FROM table_name;
修改原字段名称及类型:mysql ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
删除字段:ALTER TABLE table_name DROP field_name;
应该是这样子的,
Alter table 表名
add foreign key (外键属性) references 表名(表属性)
1.外键的作用,主要有两个:
一个是让数据库自己通过外键来保证数据的完整性和一致性
一个就是能够增加ER图的可读性
2.外键的配置
1)先创建一个主表,代码如下:
#创建表student,并添加各种约束
create
table
student
(
id
int
primary
key
,
#主键约束
name
varchar(20)
,
#唯一约束
age
int
NOT
NULL,
#非空约束
sex
varchar(2)
,
address
varchar(20)
default
'重庆'
#默认约束
)
;
再通过一个外键,创建一个分数表,这样的话,就可以方便查询。代码如下:
#创建分数表
create
table
score
(
id
int
primary
key
,
sid
int
,
china
int
,
history
int,
english
int,
constraint
FK_sid
foreign
key(sid)
references
student(id)
#通过外键创建链接
)
;
创建外键的方法有很多,其中最常见创建外键的格式是:constraint
FK_***
foreign
key(**)
references
链接的外表
删除外键:
alter
table
drop
foreign
key
'外键名'.
注意:
只有在定义外键时,用constraint
外键名
foreign
key
....
方便进行外键的删除
CREATE TABLE `ruse` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(18) NOT NULL unique,
`password` varchar(18) NOT NULL,
`age` int(11) DEFAULT NULL,
`sex` char(2) DEFAULT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=1018 DEFAULT CHARSET=gbk;
在name行加unique
4.4.7添加约束
语句格式:ALTER TABLE 表名ADD CONSTRAINT 约束名 约束类型(字段名)
上面语句格式中,“表名”指定要添加约束的是哪个表,“ADD CONSTRAINT”表示要在表中增加约束,其后的“约束名”是拟增加约束的名字,“约束类型”是拟增加约束的类型,其后括号里的“字段名”是指约束是在哪一个字段上建立起来的。
下面截图中的“ALTER TABLE”语句在t_dept表中新增加了一个约束名为unidept的约束,它是在对字段deptno进行的唯一性约束。