MySQL数据库基础二

本文详细介绍了MySQL中数据完整性约束的几种类型,包括主键、多字段主键、非空、唯一、默认值以及自动增长。同时涵盖了索引的创建、修改和删除方法,为数据库设计者提供实用的SQL语句示例。
摘要由CSDN通过智能技术生成

1m1.数据完整性约束

1.1主键约束

基本语法:

字段名称 数据类型 PRIMARY KEY

例:

创建数据表student,并设置字段sno作为主键


CREATE TABLE student(
    sno char(12)RPIMARY KEY,
    sname varchar(50),
    sgender varchar(10),
    sage int(10),
    sdept varchar(50)
);

1.2多字段主键

基本语法:

PRINARY KEY(字段名1,字段名2,...,字段名n)

 例:创建数据表sc,在表中将sno和cno两个字段共同作为主键

PRIMARY TABLE SC(
    sno char(12),
    cno char(12),
    grade float,
    PRIMSRY KEY(sno,cno)
);

1.3非空约束

 非空约束指的是字段的值不能为NULL,基本语法:

字段名称 数据类型 NOT NULL

创建数据表student2,将表中的sname字段设置为非空约束


CREATE TABLE student2(
    sno char(12),
    sname varchar(50)NOT NULL,
    sgender varchar(10),
    sage int(10),
    sdept varchar(50)
);

1.4唯一约束

用于保证数据表中字段的唯一性,基本语法:

字段名称 数据类型 UNIQUE

例:创建数据表syudent3,将表中的sname设置为唯一约束


CREATE TABLE student(
    sno char(12),
    sname varchar(50)UNIQUE,
    sgender varchar(10),
    sage int(10),
    sdept varchar(50)
);

1.5默认约束

基本语法:

字段名称 数据类型 DEFAULT 默认值

例:创建一个数据表sc2,将表中的hrade字段的默认值设置为0

PRIMARY TABLE SC(
    sno char(12),
    cno char(12),
    grade float DEFAULT 0,
    PRIMSRY KEY(sno,cno)
);

1.6自动增长

基本语法:

字段名称 数据类型 AUTO_INCREMENT

例:创建数据表student4将表中的sno字段设置为自动增长


CREATE TABLE student(
    sno char(12)AUTO_INCREMENT
    sname varchar(50)
    sgender varchar(10),
    sage int(10),
    sdept varchar(50)
);

2.索引

2.1索引的创建

例: 创建一个名为ol的数据表,在其order_num和order_item上设置主键索引,prod_id字段设置为唯一索引(升序),在item_price字段设置单列索引

CREATE TABLE ol(
    order_num char(12),
    order_item char(12),
    prod+id cahr(15),
    quantity int(11),
    item_price fioat,
    PRIMARY INDEX prod_id ASC,
    INDEX(item_price)
);

2.2在已经存在的数据表上创建索引

基本语法:

CREATE [UNIQUE | FULLTEXT | SPATLAL] INDEX 索引名称
NO 表名 (字段名称[(长度)] [ASC | DESC])

例:在ol表上的字段prod_id设置唯一索引

CREATE UNIQUE INDEX uni_peod ON orderdetail(prod_id);

2.3删除索引

使用ALTER TABLE 语句删除索引

ALTER TABLE 表名
DEOP INDEX 索引名称

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pzn)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值