SQL
SQL(structural query language) 指结构化查询语言, 使我们有能力访问数据库, 是一种 ANSI 的标准计算机语言
1.建库(database)
使用create database进行建数据库操作,一个数据库中可以简历多张数据表:
create database my_database
2.建表(table)
使用create table进行建表操作:
create table student(
stu_id varchar(20) primary key,
stu_name varchar(20) not null,
stu_age int,
stu_gender archer(20)
);
create table course(
cou_id varchar(20) primary key,
cou_name varchar(20)
);
create table grade(
stu_id varchar(20),
cou_id varchar(20),
grade numeric default 60,
foreign key(stu_id) references student(stu_id),
foreign key(cou_id) references student(cou_id)
);
一个实体里建成一张表(如学生student,课程course),实体与实体之间多对多的关系(如成绩表grade)需要建表。
3.约束
约束用于限制加入表的数据的类型。可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句),具体的约束,如:
- NOT NULL:强制不接受空值,如属性含非空约束,则在插入新内容时,该字段不能为空,否则不能成功插入;
- UNIQUE:唯一标示数据库中的每条记录,
- PRIMARY KEY:主键约束,拥有自定义的unique约束,但是每个表中可以有多个unique约束,只能有一个主键约束;主键必须包含唯一的值,主键列不能出现空值
- FOREIGN KEY:外键约束,一个表中的foreign key指向另一个表的主键primary key
- CHECK:用于限制列中值的取值范围,如果对单个列定义 CHECK 约束,那么该列只允许特定的值。如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。
- DEFAULT:DEFAULT 约束用于向列中插入默认值。如果没有规定其他的值,那么会将默认值添加到所有的新记录。