SQL语言_SQL语言基础及数据定义功能_PAGE1

数据定义功能

定义基本表

CREATE TABLE Student(
  Sno char(7) PRIMARY KEY,
  Sname char(10) NOT NULL,
  Ssex char(2),
  Sage tinyint,--年龄,微整型
  Sdept char(20),--所在系
)

CREATE TABLE Course(
	Cno char(6) NOT NULL,
	Cname char(20) NOT NULL,
	Credit tinyint,
	Semester tinyint,--学期,微整型
	PRTMARY KEY(Cno)
)

CREATE TABLE SC(
	Sno char(7) NOT NULL,
	Cno char(6) NOT NULL,
	Grade smallint,--小整型
	PRIMARY KEY(Sno,Cno),
	FOREIGN KEY(Sno) REFERENCES Student(Sno),
	FOREIGN KEY(Cno) REFERENCES Course(Cno)
)

删除表

DROP TABLE Student

修改表结构

ALTER TABLE <表名>
	ADD <列名> <数据类型> <约束>--添加列
	DROP COLUMN <列名>--删除列
	ALTER COLUMN <列名> <新数据类型>--修改列定义
	ADD CONSTRAINT--添加约束
	DROP CONSTRAINT--删除约束

ALTER TABLE Student
	ADD Spec char(10) NULL--添加专业列
	
ALTER TABLE Student
	ALTER COLUMN Spec char(20)--修改专业列定义

ALTER TABLE Student
	DROP COLUMN Spec

数据完整性

主码约束

ALTER TABLE Employee
	ADD CONSTRAINT PK_EMP PRIMARY KEY(Eid)
ALTER TABLE Job
	ADD CONSTRAINT PK_JOB PRIMARY KEY(Jid)

UNIQUE约束

ALTER TABLE Employee
	ADD CONSTRAINT UQ_Eid UNIQUE(Tel)

外码约束

ALTER TABLE Employee
	ADD CONSTRAINT FK_Jid FOREIGN KEY (Jid) REFERENCES Job(Jid)

DEFAULT约束

ALTER TABLE Employee
	ADD CONSTRAINT DF_Saraly DEFAULT 1600 FOR Saraly--默认值

CHECK约束

ALTER TABLE Employee
	ADD CONSTRAINT CHK_Salary CHECK (Salary>1000)
ALTER TABLE Employee
	ADD CONSTRAINT CHK_Salary CHECK (Lowest_Salary<=Highest_Salary)

以上约束可以同时定义

CREATE TABLE Job(
	Jid char(8) PRIMARY KEY,
	Lowest_Salary int,
	Highest_Salary int,
	CHECK(Lowest_Salary<=Highest_Salary)
)
CREATE TABLE Employee(
	Eid char(7) PRIMARY KEY,
	Ename char(10),
	Jid char(8) REFERENCES Job(Jid),
	Salary int DEFAULT 1600 CHECK(Salary>=1000),
	Tel char(8) NOT NULL UNIQUE
)
posted @ 2024-11-20 20:30  郭珮媛  阅读(7)  评论(0编辑  收藏  举报