数据库语法进阶版学习,含有练习题和答案

数据库高级

学习数据库相关知识后,请务必一定要看注意事项。

《数据库语句需要注意的事项》:https://blog.csdn.net/qq_43098690/article/details/121661835

一、数据库的完整性

顾名思义,保证保存在数据库中的数据必须是有效的,即有效性和准确性。

确保数据的完整性 = 在创建表时给表中添加约束(多个约束条件之间使用空格间隔)

完整性的分类:

- 实体完整性(行完整性)

- 域完整性(列完整性)

- 引用完整性(关联表完整性)

主键约束:primary key
唯一约束:unique [key]
非空约束:not null
默认约束:default
自动增长:auto_increment
外键约束: foreign key

建议这些约束应该在创建表的时候设置

下面有个例子,可以使用:

## 建立一个 学生表
create table student(
	studentno int primary key auto_increment,
	loginPwd varchar(20) not null default '123456',	
	studentname varchar(50) not null,
	sex char(2) not null,
	gradeid int not null,
	phone varchar(255) not null,
	address varchar(255) default '学生宿舍',
	borndate datetime,
	email varchar(50)
);
1. 实体完整性(行完整性)

啥叫实体?

实体:即表中的一行(一条记录)代表一个实体(entity)

实体完整性的作用:标识每一行数据不重复。

实体完整性主要用到的约束类型

主键约束(primary key)

唯一约束(unique)

自动增长列(auto_increment)

1.1 主键约束(primary key)

注:每个表中要有一个主键。 数据唯一,且不能为 null

示例

第一种添加方式
## 直接在需要设置的列名 设置主键
CREATE TABLE student( id int primary key, name varchar(50) );
第二种添加方式
## 此种方式优势在于,可以创建联合主键
## 标明 需要被定为主键  的 列名
CREATE TABLE student( id int, name varchar(50), primary key(id) );
CREATE TABLE student( classid int, stuid int, name varchar(50), primary key(classid,stuid) );
第三种添加方式
## 通过 修改 的方式,给表添加主键
CREATE TABLE student( id int, name varchar(50) );
ALTER TABLE student ADD PRIMARY KEY (id);
1.2 唯一约束(unique)

特点:数据不能重复。

比如,常见的身份证号码不能重复

## 设置身份证号 唯一
CREATE TABLE student( Id int primary key, Name varchar(15),idcardnum varchar(18) unique );
1.3 自动增长列(auto_increment)

sqlserver数据库 (identity-标识列)

oracle数据库(sequence-序列)

给主键添加自动增长的数值,列只能是整数类型

## 设置 学生id,自动增长
CREATE TABLE student( Id int primary key auto_increment, Name varchar(50) );
INSERT INTO student(name) values(‘tom’);

2. 域完整性

域是什么东西?

域代表当前单元格

域完整性的作用:限制此单元格的数据正确,不对照此列的其它单元格比较

域完整性约束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值