欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MYSQL数据库学习五 表的操作和约束

程序员文章站 2022-05-30 18:19:54
...

5.1 表的基本概念

  表示包含数据库中所有数据的数据库对象。一行代表唯一的记录,一列代表记录的一个字段。

  • 列(Columns):属性列,创建表时必须指定列名和数据类型。
  • 索引(Indexes):根据指定列建立起来的顺序,提供了快速访问数据的途径。
  • 触发器(Triggers):用户定义的事务命令的集合。

 

5.2 表的操作

   创建表

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

   查看表定义

DESCRIBE table_name;

   查看表详细定义

SHOW CREATE TABLE table_name\G

 注意:sql语句可以使用";","\g","\G"符号来结束,使用"\G"可以使结果显示更加美观。

   删除表

DROP TABLE table_name;

   修改表名

ALRET TABLE old_table_name RENAME [TO] new_table_name;

   增加字段

ALERT TABLE table_name
    ADD 属性名 数据类型;//在表的最后一个位置增加字段
ALERT TABLE table_name ADD 属性名 数据类型 FIRST;//在表的第一个位置增加字段
ALERT TABLE table_name ADD 属性名 数据类型 AFTER 属性名;//在表的最后一个位置增加字段

   删除字段

ALERT TABLE table_name
    DROP 属性名;

   修改字段

ALERT TABLE table_name
    MODIFY 属性名 数据类型;//修改字段的数据类型
ALERT TABLE table_name
    CHANGE 旧属性名 新属性名 旧数据类型;//修改字段的名字
ALERT TABLE table_name
    MODIFY 旧属性名 新属性名 旧数据类型 新数据类型;//修改字段的名字和属性

   修改字段的顺序

ALERT TABLE table_name
    MODIFY 属性名1 数据类型 FIRST|AFTER 属性名2;

    

5.3 操作表的约束

  5.3.1 MySQL支持的完整性约束

  完整性是指数据的准确性一致性MySQL提供了一致机制来检查数据库表中的数据是否满足规定的条件,以保证数据库表中数据的准确性和一致性,这种机制就是约束

完整性约束关键字 含义
NOT NULL 约束字段的值不为空
DEFAULT 设置字段的默认值
UNIQUE KEY(UK) 约束字段的值是唯一
PRIMARY KEY(PK) 约束字段为表的主键,可以作为改表记录的唯一标识
AUTO_INCREAMENT 约束字段的值为自动增加
FOREIGN KEY(FK) 约束字段为表的外键

注意:在为约束设置标识符时,推荐使用“约束缩写_字段名”。例如uk_uname。

1. 设置主键约束:

CREATE TABLE table_name(
    属性名 数据类型 PRIMY KEY,//单字段主键
    ......
);

CREATE TABLE table_name(
    属性名 数据类型,
    ......
  【CONSTRAINT 约束名】 PRIMARY KEY(属性名1,属性名2),//属性1和属性2为联合主键
);

 

2.设置外键约束:

  子表中某个字段的取值由父表决定。例如,表示每个部门有多个雇员,有雇员表和部门表,雇员表(字表)中有一个表示部门编号的字段depno(外键),其依赖于部门表(父表)的主键。

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

   属性名1为子表中设置外键的字段名,属性名2为父表中设置主键约束的字段名。