数据库之创建表

本文详细介绍SQL数据库设计过程,包括模式定义、表创建及外键约束应用。涵盖SQLServer与MySQL数据库创建语法,以及如何定义列级与表级完整性约束。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.定义数据库:

1.规则:
CREATE SCHEMA <模式名> AUTHORIZATION <用户名>[<表定义子句>|<视图定义子句>|<授权定义子句>]

2.举例:
为用户WANG定义一个学生-课程模式S-T
CREATE SCHEMA “S-T” AUTHORIZATION WANG;

注意:上面是sqlserver数据库,而mysql数据库跟这个规则有区别,mysql数据库直接在命令窗口写create database S-T;

二.创建表
规则:
CREATE TABLE <表名> (<列名> <数据类型>[ <列级完整性约束条件> ]
[,<列名> <数据类型>[ <列级完整性约束条件>] ]
… [,<表级完整性约束条件> ] );
<表名>:所要定义的基本表的名字
<列名>:组成该表的各个属性(列)
<列级完整性约束条件>:涉及相应属性列的完整性约束条件
<表级完整性约束条件>:涉及一个或多个属性列的完整性约束条件

举例:
在这里插入图片描述
mysql> creat table customer(列名cid 数据类型int(11) 列级完整性约束条件not null primary key comment ‘顾客ID’);
注意:
*表名customer后面还要有()。
*create不要少了最后的e。

三.渲染表
1.字段是引用的外码:
(1)表级约束条件时:
例一:
CREATE TABLE if not EXISTS orders(
oid int(11) not NULL PRIMARY KEY COMMENT ‘订单号’ auto_increment,
pid int(11) NOT NULL COMMENT ‘产品ID’,
cid int(11) NOT NULL COMMENT ‘顾客ID’,
FOREIGN KEY(pid) REFERENCES product(pid),
FOREIGN KEY(cid) REFERENCES customer(cid),
ocount INT(11) not NULL COMMENT ‘物品数量’,
oprice DECIMAL(8,2) not NULL COMMENT ‘物品单价’,
odate datetime NOT NULL COMMENT ‘订单时间’
);
例二:
CREATE TABLE SC
(Sno CHAR(9),
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*/
);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值