SQL基本表的操作
来源:互联网 发布:从零开始学python 编辑:程序博客网 时间:2024/06/08 16:29
一、定义基本表
CREATE TABLE <表名>
(<列名> <数据类型>[ <列级完整性约束条件> ]
[,<列名> <数据类型>[ <列级完整性约束条件>] ] …
[,<表级完整性约束条件> ] );
如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级也可以定义在表级。
ag.
建立“学生”表Student,学号是主码,姓名取值唯一。
CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, /* 列级完整性约束条件*/ Sname CHAR(20) UNIQUE, /* Sname取唯一值*/ Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20) );
或者这样定义:
CREATE TABLE Student (Sno CHAR(9), Sname CHAR(20) UNIQUE, /* Sname取唯一值*/ Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20), PRIMARY KEY (Sno) /* 表级完整性约束条件*/ );
建立一个“课程”表Course
CREATE TABLE Course ( Cno CHAR(4) PRIMARY KEY, Cname CHAR(40), Cpno CHAR(4) , Ccredit SMALLINT, FOREIGN KEY (Cpno) REFERENCES Course(Cno) ); //Cpno是外码被参照表是Course被参照列是Cno
建立一个“学生选课”表SC
CREATE TABLE SC ( Sno CHAR(7), Cno CHAR(4), Grade SMALLINT, PRIMARY KEY (Sno,Cno), /* 主码由两个属性构成,必须作为表级完整性进行定义*/ FOREIGN KEY (Sno) REFERENCES Student(Sno), /* 表级完整性约束条件,Sno是外码,被参照表是Student */ FOREIGN KEY (Cno) REFERENCES Course(Cno) /* 表级完整性约束条件, Cno是外码,被参照表是Course*/ );
二、修改基本表
ALTER TABLE <表名>[ ADD <新列名> <数据类型> [ 完整性约束 ] ][ DROP <完整性约束名> ][ ALTER COLUMN<列名> <数据类型> ];
- 增加列
ALTER TABLE Student ADD S_entrance DATE; - 改变表列的性质
ALTER TABLE Student ALTER COLUMN Sage INT;
三、删除基本表
DROP TABLE <表名>[RESTRICT| CASCADE];
RESTRICT:删除表是有限制的。
欲删除的基本表不能被其他表的约束所引用
如果存在依赖该表的对象,则此表不能被删除
CASCADE:删除该表没有限制。
在删除基本表的同时,相关的依赖对象一起删除
四、模式与表
每一个基本表都属于某一个模式
一个模式包含多个基本表
定义基本表所属模式
方法一:在表名中明显地给出模式名
Create table “S-T”.Student(……); /模式名为 S-T/
Create table “S-T”.Cource(……);
Create table “S-T”.SC(……);
方法二:在创建模式语句中同时创建表
方法三:设置所属的模式
创建基本表(其他数据库对象也一样)时,若没有指定模式,系统根据搜索路径来确定该对象所属的模式
RDBMS会使用模式列表中第一个存在的模式作为数据库对象的模式名
若搜索路径中的模式名都不存在,系统将给出错误
显示当前的搜索路径: SHOW search_path;
搜索路径的当前默认值是:$user, PUBLIC
DBA用户可以设置搜索路径,然后定义基本表
SET search_path TO “S-T”,PUBLIC;
Create table Student(……);
结果建立了S-T.Student基本表。
RDBMS发现搜索路径中第一个模式名S-T存在,就把该
模式作为基本表Student所属的模式。
- SQL基本表的操作
- SQL的基本操作
- SQL的基本操作
- SQL的基本操作
- SQL的基本操作
- sql的基本操作
- sql的基本操作
- SQL的基本操作
- sql的基本操作
- SQL的基本操作
- 【SQL】基本表的连接操作
- SQL对表的基本操作
- SQL数据的基本操作
- sql的一些基本操作
- My SQL 的基本操作
- 基本的sql语句操作
- sql server2005的基本操作
- sql的一些基本操作
- led驱动程序 基于FL2440
- muduo库阅读(15)——日志流类、固定大小缓冲区类
- 堆排序(首元空)
- curl
- hdoj 最短区间版大家来找碴 2158 (爆力模拟)
- SQL基本表的操作
- VirtualBox下设置共享文件夹
- 论文阅读《3D Shape Matching via Two Layer Coding》
- 大数相加
- muduo库阅读(16)——异步日志类
- coreData的升级(迁移)
- lua开发--lua模块和redis
- 第一个
- leetcode-Sum Root to Leaf Numbers