MySQL表的操作02

Posted Mr Wen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL表的操作02相关的知识,希望对你有一定的参考价值。

【1】设置非空约束(NOT NULL ,NK)--->>>目的是f防止某些字段中的内容为空

 

CREATE TABLE +table_name (

  属性名   数据类型   NOT NULL,

.........

);

 

【2】设置字段的默认值(DEFAULT)

CREATE TABLE +table_name (

  属性名  数据类型  DEFAULT  默认值,

........

);

 

【3】设置唯一约束(UNIQUE,UK)===>>>保证字段的唯一性,比如记录学生档案信息的时候,要保证学生的学号信息的唯一性。

 

CREATE TABLE +table_name (

  属性名  数据类型  UNIQUE,

.........

);

 

【4-1】设置单字段主键约束(PRIMARY KEY,PK)===>>>主键约束在表中定义一个主键来唯一确定表中每一行数据的标识符。每张数据表只能存在一个主键;主键保证记录的唯一性;主键自动为NOT NULL(非空)。有类似UNIQUE的效果,来保证字段的唯一性。

 

 CREATE TABLE +table_name
    (属性名  数据类型 ,
     属性名  数据类型 ,
     ......
    PRIMARY KEY(属性名));

例子:

 CREATE TABLE stu_info
     (id int ,
     name VARCHAR(12),
     yeold int,
     PRIMARY KEY(id));

若输入与主键重复的字段,则报错!!!

mysql> INSERT INTO stu_info VALUE(1,‘jack‘,25);
ERROR 1062 (23000): Duplicate entry ‘1‘ for key ‘PRIMARY‘

 

【4-2】多字段主键

 

 CREATE TABLE +table_name
    (属性名  数据类型 ,
     属性名  数据类型 ,
     ......
    PRIMARY KEY(属性名1,属性名2,.....));     >>>注意:此时表示属性名1和属性名2同时都不重复,是“且”的含义。否则输入命令不报错

 

【5】设置字段值自动增加(AUTO_INCREMENT)    >>>默认下,该字段的值是从1开始增加,每增加一条记录,记录中该字段的值就会在前一条记录的基础上加1。

 

CREATE TABLE +table_name(

  属性名  数据类型  AUTO_INCREMENT,

..........

);

 

例子:

mysql> DESC stu_info;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| ID    | int(11)     | NO   | PRI | NULL    | auto_increment |
| name  | varchar(12) | YES  |     | NULL    |                |
| yeold | int(11)     | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+

 

【6】设置外键约束(FOREIGN KEY,FK)>>>

         如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表。外键是用来实现参照完整性的,不同的外键约束方式
将可以使两张表紧密的结合起来,特别是修改或者删除的级联操作将使得日常的维护工作更加轻松。外键主要用来保证数据的完整性和一致性.
         两个表必须是InnoDB表,MyISAM表暂时不支持外键
         外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立;
         外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以;


CREATE TABLE +table_name (
属性名 数据类型,
属性名 数据类型,
.....
CONSTRAINT 外键约束名 FOREIGN KEY (属性名1)
  REFERENCES 表名 (属性名2)

 






























以上是关于MySQL表的操作02的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL中有关表的简单操作

如何在片段中填充列表视图?

02-mysql多表查询

mysql数据库表的基本操作

我可以在片段中构建操作栏吗?

MySQL-存储引擎-创建表-字段数据类型-严格模式-字段约束-键-02