Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说数据库之创建表[亲测有效],希望能够帮助你!!!。
一.定义数据库:
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*/
);