美文网首页MySQL学习笔记
04-数据表的基本操作

04-数据表的基本操作

作者: jiaxin_w | 来源:发表于2019-08-13 17:35 被阅读0次

    title: 04-数据表的基本操作
    time: 2019/08/12
    tags:
    - Database
    - MySQL
    categories:
    - Database
    - MySQL


    主要内容:

    创建数据表、查看数据表结构、修改数据表、删除数据表

    在数据库中,数据表是数据库中最重要、最基本的操作对象,是数据存储的基本单位。数据表被定义为列的集合,数据在表中是按照行和列的格式来存储的。每一行代表一条唯一的记录,每一列代表记录中的一个域。

    0 数据类型

    MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

    数值类型

    数值类型

    日期类型

    日期类型

    字符串类型

    字符串类型

    1 创建数据表

    创建数据表,指的是在已经创建好的数据库中建立新表。创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性等)约束的过程。

    1.1 创建表的语法形式

    选择数据库(如果没有选择数据库会报错):

    USE <数据库名>
    

    创建数据表语法:

    CREATE TABLE <表名>
    (
        字段名1, 数据类型, [列级别约束条件] [默认值],
        字段名2, 数据类型, [列级别约束条件] [默认值],
        ……
        [表级别的约束条件]
    );
    

    查看数据表:

    SHOW TABLES;
    

    查看数据表结构:

    describe <table_name>;
    

    例子:

    create database test_db;
    
    use test_db;
    
    create table tb_empl
    (
        id INT(11),
        name VARCHAR(25),
        deptID INT(11),
        salary FLOAT
    );
    
    show tables;
    
    describe tb_empl;
    

    1.2 使用主键约束

    主键,又称主码,是表中一列或多列的组合。

    主键约束(Primary Key Constrain)要求主键列的数据唯一,并且不允许为空。

    1 单子段主键

    (1) 在定义列时同时定义主键

    字段名1 数据类型 primary key [默认值]
    

    例如上述例子:

    create table tb_empl
    (
        id INT(11) primary key,
        name VARCHAR(25),
        deptID INT(11),
        salary FLOAT
    );
    

    (2) 在定义完所有列之后指定主键

    [constraint <约束名>] primary key [字段名]
    

    例如:

    create table tb_empl1
    (
        id INT(11),
        name VARCHAR(25),
        deptID INT(11),
        salary FLOAT,
        primary key(id)
    );
    

    2 多字段联合主键

    primary key [字段1,字段2,…,字段n]
    

    例如:

    create table tb_empl
    (
        id INT(11),
        name VARCHAR(25),
        deptID INT(11),
        salary FLOAT,
        primary key(id,deptID)
    );
    

    1.3 使用外键约束

    外键:它是表中的一个字段,它可以不是本表的主键,但对应另一个表的主键。

    外键是用来在两个表的数据之间建立链接,它可以是一列或者多列。一个表可以有一个外键或多个外键。外键对应的是参照完整性,一个表的外键可以为空值,若不为空值,则每一个外键值必须等于另一个表中主键的某个值。

    主表(父表):相关联字段中主键所在的那个表

    从表(子表):相关联字段中外键所在的那个表

    constraint <外键名> foreign key (<字段名>) references <主表名>(<主键列>)
    

    1.4 使用非空约束

    非空约束:字段的值不能为空

    字段名 数据类型 not null
    

    1.5 使用唯一性约束

    唯一性约束:要求该列唯一,允许为空,但只能出现一个空值。唯一性约束可以确保一列或几列不出现重复值。

    (1) 定义时指定唯一性约束

    字段名 数据类型 unique
    

    (2) 定义完所有值后指定唯一约束

    constraint <约束名> unique(字段名)
    

    1.6 使用默认约束

    默认约束:指定某列的默认值

    字段名 数据类型 DEFAULT 默认值
    

    1.7 设置表的属性值自动添加

    字段名 数据类型 auto_increament
    

    2 修改数据表

    2.1 修改表名

    alter table <旧表名> rename <新表名>;
    

    2.2 修改字段的数据类型

    alter table <表名> modify <字段名> <数据类型>;
    

    2.3 修改字段名

    alter table <表名> change <旧字段名> <新字段名> <新数据类型>;
    

    2.4 添加字段

    alter table <表名> add <新字段名> <数据类型> [约束条件] [first|after 已存在字段名]; 
    

    2.5 删除字段

    alter table <表名> drop <字段名>;
    

    2.6 修改字段的排列位置

    alter table <表名> modify <字段1> <数据类型> first|after 字段2; 
    

    2.7 删除表的外键约束

    alter table <表名> drop foreign key <外键约束名>;
    

    3 删除数据表

    3.1 删除没有被关联的数据表

    drop table [if exists] 表1,表2,……,表n;
    

    3.2 删除被其他数据表关联的主表

    (1) 同时删除父表和子表:先删除子表,再删除父表

    (2) 单独删除父表(直接删除父表会报错):

    alter table <子表名> drop foreign key <外键约束名>;
    drop table <父表名>;
    

    If you have any questions, please don't hesitate to contact me: jiaxin_w@outlook.com](mailto:jiaxin_w@outlook.com).

    相关文章

      网友评论

        本文标题:04-数据表的基本操作

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