数据库编写

 

1.1.    数据库常用约束

l  主键约束:primary key

l  外键约束:foreign key (references)

l  唯一值约束:unique

l  默认值约束:default

l  检查约束:check

l  非空约束:not null

l  标识列:identity

1.2.    创建数据表注意事项

l  建表之前,一定不要忘记使用指定的数据库

l  建表顺序 -> 主、外键

l  主外键数据类型必须一致

l  列与列之间用','间隔,最后一列不加','

l  如果两张表确有关联,而题目没给出主外键,则可自行添加主外键

1.3.    插入数据注意事项

l  values里的数据个数、类型、精度必须与表中对应列保持一致

l  表中不允许为空的列必须插入数据,有默认值的除外

l  不能为标识列添加数据,因为它是自增的、禁止修改

l  插入字符类型、日期类型等非数值数据时,需要用单引号包含

l  插入的数据必须满足表的约束条件,check、unique等

l  可以省略表名后面的列名,但是这需要保证values 里各项数据的顺序和数据表中列的顺序一致,初学者不建议省略

l  对具有默认值的列和允许为空的列,就需要用到 default 和 null 关键字

l  一般不推荐使用多行插入,尤其是在插入主键表时

l  日期时间插入格式'2020-04-14 09:51:00'或'2020/04/14 09:51:00',如果不需要显示时间,则直接插入年月日即可

1.4.    连接查询的补充

1)       内连接查询(两张表匹配的部分,比如这个学生即在学生表、又在成绩表)

主表 inner join 从表 on 主键=外键  =>  where 主键=外键

select * from info inner join mark on info.sid=mark.sid

select * from info,mark where info.sid=mark.sid

2)       外连接查询(一张表的全部和另一张表的部分或全部,比如这个学生没有成绩)

① 左外连接:左表 left [outer] join 右表 on 主键=外键  ->左表的全部

② 右外连接:左表 right [outer] join 右表 on 主键=外键 ->右表的全部

select * from info left outer join mark on info.sid=mark.sid->+全部学生,不管这个有没有成绩。如果有成绩,则输出成绩;如果没有,则输出null。

如何选择?一旦要求查询某张表内的全部数据,一定首先使用外连接!!!

1.5.    创建数据库基本步骤

1)       修改当前数据库为master,以解决无法删除数据库问题->  if exists()

2)       如果存在数据库,则进行删除 -> drop database数据库名字

3)       创建数据库 -> create database数据库名字

4)       使用数据库 -> use 数据库名字

5)       创建表 -> create table 表名(列名1 数据类型1 约束...,.....)

6)       插入测试数据 -> insert into 表名 values(值1,值2...default/null/getdate())

7)       执行查询,进行检验 -> select * from 表1,表2 where 主键=外键(可能外连接)

 

posted @ 2020-06-15 21:13  秋天~  阅读(495)  评论(0编辑  收藏  举报