美文网首页
03_sql创建表时字段属性设置

03_sql创建表时字段属性设置

作者: 王康健_0124 | 来源:发表于2018-11-04 15:15 被阅读0次

数据库表的每个字段都有很多的约束,在我们创建表的时候就可以指定每个表的约束!
PRIMARY KEY:主键(1.包含唯一属性,一个表只有一个PRIMARY KEY且字段为int类型;2.包含not null属性:不能为空)

格式1:
create table student (
id int(10) primary key 
);
格式2:
create table student (
id int(10),
name VARCHAR(20),
primary key(id)
);

UNIQUE唯一,不可重复(有唯一约束的字段基本不会设置不可重复约束,UNIQUEPRIMARY KEY 约束均为列或列集合提供了唯一性的保证。PRIMARY KEY 拥有自动定义的 UNIQUE 约束。请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。)

方法1:
CREATE TABLE course
(
course_Id int  primary key /*主键*/,
class varchar(30) ,
Stu_id int(4),
UNIQUE (Stu_id )/*指定某个字段唯一约束*/
)
方法二:
CREATE TABLE course
(
course_Id int  primary key /*主键*/,
class varchar(30) ,
Stu_id int(4) UNIQUE
)

COMMENT :给字段添加文字描述说明

CREATE TABLE course
(
course_Id int  primary key COMMENT '课程id'/*主键*/,
class_name varchar(30) COMMENT '班级名称',
Stu_id int(4) UNIQUE COMMENT '学生编号'
)

NOT NULL:不能为空(加上not null 后,在插入数据的时候该列必须有值)

CREATE TABLE course
(
course_Id int  primary key COMMENT '课程id'/*主键*/,
class_name varchar(30) COMMENT '班级名称' not null,
Stu_id int(4) UNIQUE COMMENT '学生编号' not null
)

AUTO_INCREMENT:当前字段自增(auto_increment关键字就表示自增。自增字段必须是主键,要定义primary key才行,免得出现插入数据时,提示值重复的问题)

CREATE TABLE course
(
course_Id int  primary key COMMENT '课程id'/*主键*/ AUTO_INCREMENT/*自增*/,
class_name varchar(30) COMMENT '班级名称' not null,
Stu_id int(4) UNIQUE COMMENT '学生编号' not null
)

自增字段在执行插入时,可以不输入数据,字段会字段根据上条数据的大小自动+

foreign key(要设置外键的字段名) references 要关联的表名(关联表里的字段名))

注意:A的主键被B表某个字段引用位外键的话,必须先删除B表后才能再删除A表。

即,drop table student;会执行失败,因为它的主键现在被course指定为外键,必须先删除course表才能删除student表,不然会报错Cannot delete or update a parent row: a foreign key constraint fails

创建A表:student ,id为主键
CREATE TABLE student (
id INT(10) NOT NULL ,
NAME VARCHAR(20),
PRIMARY KEY(id)
);
创建B表:course,course表中student_id字段的外键是student 表中的id
CREATE TABLE course(
course_id INT(4) AUTO_INCREMENT PRIMARY KEY,
dept_name VARCHAR(20) NOT NULL ,
student_id INT(10),
FOREIGN KEY(student_id) REFERENCES student(id)/*这行为创建外键的写法*/
);

DEFAULT :添加默认值(DEFAULT 约束用于向列中插入默认值,如果没有规定其他的值,那么会将默认值添加到所有的新记录。)

CREATE TABLE course(
course_id INT(4) AUTO_INCREMENT PRIMARY KEY,
dept_name VARCHAR(20) NOT NULL DEFAULT '谁啊!那么懒不添加值'
);

总结:在添加Constraints的时候,Constraints 之间不需要用符号做分隔例,具体怎么给字段添加约束还是按照实际情况来!

CREATE TABLE course(
course_id INT(4) AUTO_INCREMENT PRIMARY KEY,
dept_name VARCHAR(20) NOT NULL DEFAULT '谁啊!那么懒不添加值'
);

相关文章

  • 03_sql创建表时字段属性设置

    数据库表的每个字段都有很多的约束,在我们创建表的时候就可以指定每个表的约束!PRIMARY KEY:主键(1.包含...

  • 数据表操作

    创建数据表 普通创建表基本语法:create table 表名(字段名 字段类型 [字段属性],...,字段名 字...

  • MySql 建表、添加字段、修改字段、添加索引SQL语句写法

    建表: 修改原有字段名称及类型: 添加新字段: 1.创建数据库时设置编码 2.创建表时设置编码 3.修改数据库编码...

  • Laravel中常用的命令和方法(一)

    1.创建数据表迁移文件 2.在创建的迁移文件中设置表属性,字段等。 3.创建数据表 4.创建控制器 这条命令会在a...

  • 《日子》.Mysql使用区分字段值大小写问题

    如果想在查询时区分字段值的大小写,则:字段值需要设置BINARY属性,设置的方法有多种:A、创建时设置: CREA...

  • Mysql的CRUD

    创建表格 创建表格时,需要提供以下属性: 表名 字段名(列名) 字段的数据类型假设我们创建一张用户表,包含id、昵...

  • SQL基础语句

    1、创建数据库 2、选择数据库 3、删除数据库 4、创建数据表 如果你不想字段为 NULL 可以设置字段的属性为 ...

  • 约束

    约束 一、非空约束(not null) 1.1、在创建表时设置非空约束 语法:create table 表名(字段...

  • mysql常用语句

    1、创建表。 例如创建表user_base,并设置主键id自增,设置字段type为索引,设置`phone`和`ty...

  • django 模型-字段

    在创建django的model时,字段有很多属性可以设置,一部分是所有字段的通用属性,一部分是每个字段独有的属性。...

网友评论

      本文标题:03_sql创建表时字段属性设置

      本文链接:https://www.haomeiwen.com/subject/avchgftx.html