数据库
创建表 create table
1、创建表的格式
create table 表名
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
...
)
2、添加条件
①设置此列是否可以为空,如果此列必须要填入数据则要在 列名称后面添加not null 即
列名称1 数据类型 not null
②添加主键的两种格式
<1>列名称1 数据类型 primary key
<2> primary key(列名称1,...)
③添加外键的两种格式
<1> 列名称1 数据类型 references 参照表名称(列名称1)
<2> foreign key(列名称1,...) references 参照表名称(列名称1,...)
④数据的限制条件
列名称1 数据类型 check(列名称1 条件)
3、这里是一个例子
1、创建一个选课表E:学号,学期,课号,工号,平时成绩,考试成绩,总评成绩;(成绩范围1-100)
创建一个开课表O:学期,课号,工号,上课时间;
CREATE TABLE `E` (
`xh` char ( 20 ) NOT NULL,
`xq` char ( 20 ) NOT NULL,
`kh` char ( 20 ) NOT NULL,
`gh` char ( 20 ) NOT NULL,
`pscj` INTEGER CHECK(pscj between 1 and 100),
`kscj` INTEGER CHECK(kscj between 1 and 100),
`zpcj` INTEGER CHECK(zpcj between 1 and 100),
FOREIGN KEY(`xh`) REFERENCES `S`(`xh`),
PRIMARY KEY(`xh`,`xq`,`kh`,`gh`),
FOREIGN KEY(`xq`,`kh`,`gh`) REFERENCES `O`(`xq`,`kh`,`gh`)
);
)
CREATE TABLE `O` (
`xq` char ( 20 ) NOT NULL,
`kh` char ( 20 ) NOT NULL,
`gh` char ( 20 ) NOT NULL,
`sksj` char ( 20 ) NOT NULL,
FOREIGN KEY(`kh`) REFERENCES `C`(`kh`),
FOREIGN KEY(`gh`) REFERENCES `T`(`gh`),
PRIMARY KEY(`xq`,`kh`,`gh`)
);
4、我在创建表时出现的问题
在设置E表的外键时我刚开始写的是foreign key(xq) references O(xq),只要插入数据时就会说E表和O表mismatch。
所以在设置外键时一定要注意设的外键是参照的那个表的所有主键
插入数据 insert into
1、插入数据的格式
insert into 表名(列表名称1,列表名称2,...) values (值1,值2,...)
给表的每列都加数据时可以把列表名称省略
建立索引 create index
1、格式
create index 索引名称 on 表名
(
列表名称1 ASC
列表名称2 DESC
)
ASC为升序,DESC为降序