【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的更多相关文章

  1. Django之mysql表单操作

    在Django之ORM模型中总结过django下mysql表的创建操作,接下来总结mysql表记录操作,包括表记录的增.删.改.查. 1. 添加表记录 class UserInfo(models.Mo ...

  2. MySQL表的操作

    一.存储引擎(了解) 前几节我们知道mysql中建立的库===>文件夹,库中的表====>文件 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文 ...

  3. MySQL基本简单操作02

    MySQL基本简单操作 先进入Mysql容器. [root@promote ~]# docker exec -it mysql /bin/bash root@30d60b852cf5:/# mysql ...

  4. MySQL表的操作01

    表在数据库中主要用来实现存储数据记录,其基本操作包括创建表.查看表.删除表和修改表. 表中的数据库对象包括: 1.列(COLUMNS):也称属性列,在具体创建表时,必须指定列的名字和它的数据类型. 2 ...

  5. MySQL:表的操作 知识点难点总结:表完整性约束及其他常用知识点二次总结🙄

    表操作 一 : 修改表表表表表表表表表: ALTER TABLE 语法 1. 改表名rename alter table 表名 rename 新表名 2. 增加字段add alter table 表名 ...

  6. 整理好的一些mysql表详细操作

    一.创建表的完整语法#语法:create table 库名.表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型[(宽度) 约束条件]);约束条件:是 ...

  7. MySQL 表的操作语句(2)

    一:MySQL支持的数据类型 1:CHAR和TEXT :分别表示定长的和可变长的串. CHAR:1-255个字符的定长串,它的长度必须在创建时指定. TEXT:最大长度为64K的文本 VARCHAR: ...

  8. mysql 表结构操作

    alter table name : alter table table1 to table2;add column : alter table 表名 add column 列名 varchar(); ...

  9. Mysql:表的操作

    1.列的添加 2.列的删除 删除多列只需在DROP id 后加, DROP column_name; 3.显示表属性 4.设置默认值 5.删除默认值

随机推荐

  1. numpy学习(二)

    练习篇(Part 2) 11. Create a 3x3 identity matrix (★☆☆) arr = np.eye(3) print(arr) 运行结果:[[1. 0. 0.] [0. 1 ...

  2. cursor 把鼠标指针的形状弄成一只伸出食指的手

    <span style="cursor:auto">auto</span><br> <span style="cursor:cr ...

  3. 一步步教你如何在Ubuntu虚拟机中安装QEMU并模拟模拟arm 开发环境(一)uImage u-boot(转)

    初次接触qemu是因为工作的需要,有时候下了班,可能需要在家研究一些东西,因为博主用到arm环境,这时候博主比较小气,不愿花钱买开发板,当然博主在这里给大家的建议是,如果要真正学懂arm构架的相关知识 ...

  4. MFC在子线程中创建窗口(PostMessage方法)

    1.创建子线程 C++创建线程的方式比较多 1)最简单易用的<thread>头文件,但是这种方法创建的子线程中无法给主线程PostMessage消息(也可能是我操作有误,总之没成功) 2) ...

  5. Python里的Flask开发环境的搭建

    在已经安装好了Python后,我这里用的是Python3.5,准备进一步学习Flask框架,下面记录搭建Flask环境 这里使用了虚拟环境,在虚拟环境里,最小化的安装Flask. 参考步骤: 1.首先 ...

  6. 如何用python操作XML文件

    备注: 基于python3 背景:在统计覆盖率的时候希望绕属性name为test的节点 具体实现源码如下所示,基本都是基于节点属性操作的,当然也就可以基于tag等其他标签去做,可根据需要调整 from ...

  7. JMeter CSRFToken认证登陆(正则提取器的使用)

    转自:http://blog.csdn.net/lion19930924/article/details/51189210 前几天用JMeter模拟登陆,但是这个网站开启了csrf认证,因此在post ...

  8. AD转换器的主要技术指标

    1)分辩率(Resolution) 指数字量变化一个最小量时模拟信号的变化量,定义为满刻度与2n的比值.分辩率又称精度,通常以数字信号的位数来表示.     2) 转换速率(Conversion Ra ...

  9. JAVA 注解教程(一)简单介绍

    相关网址 https://blog.csdn.net/briblue/article/details/73824058 --- 已经整理成笔记 https://blog.csdn.net/bao199 ...

  10. PHP multipart/form-data 远程DOS漏洞

    import sys import urllib,urllib2 import datetime from optparse import OptionParser def http_proxy(pr ...