zoukankan      html  css  js  c++  java
  • MySQL中表的操作

    在MySQL中,表是一种数据库对象,表由若干个字段(列)组成,表的操作包括增删查改。

    一个表中的书库对象包括:列(column)、索引(index)及触发器:

    列也称属性列,在创建表时,必须指定列的名字和类型,同时也可以指定约束;

    索引是根据指定的数据库表列建立起来的顺序;

    触发器是指用户定义的事务命令的集合,当对表中的数据进行插入、更新和删除时,这组命令就会自动执行,以确保数据的安全性和完整性。

    以下在对表的操作中都是伴随着字段和数据类型一起的,约束可以不要,但是字段名和数据类型缺一不可。

    1、创建表

    1 create table 表名(
    2     字段名 数据类型 约束,
    3     字段名 数据类型 约束,
    4       ...   ...   ...);

    【注】创建的表名不可与存在的表名字重复;

    在创建完表之后,可以查看创建的表结构的详细定义,可以使用:

    show create table 表名;

    也可以使用以下语句查看表的定义:

    desc 表名;

    【注】desc与describe相同。

    2、删除表

    drop table 表名;

    3、修改表(alter table 表名  ...)

    有时我们在创建表时考虑的问题不是很全面,可能后续需要修改,存在以下情况:

    (1)只修改表名:

    alter table 旧表名 rename 新表名;

    (2)增加列(字段)

    alter table 表名 add 字段 数据类型 约束;

    【注】默认添加在表的最后一列;

    也可以一次添加多个表名:

    alter table 表名 add(字段 数据类型 约束,
        字段 数据类型 约束,
        字段 数据类型 约束)

    在表的第一个位置增加字段:

    alter table 表名 add 字段 数据类型 约束 first;

    在表的指定字段后增加字段:

    alter table 表名 add 字段名 数据类型 约束 after 属性名;

    删除某个字段:

    alter table 表名 drop 字段名;

    修改字段的数据类型:

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

    【注】数据类型为要修改成的数据类型;

    修改字段的名字:

    alter table 表名 change 旧属性名 新属性名 旧数据类型;

    给已创建表的字段添加单一约束:

    alter table 表名 add 约束名 (字段名);

    如:

    alter table test add primary key(id);

    在创建表时,可以设置字段约束,常见的约束类型有:

    not null(设置非空约束)

    default(设置字段的默认值)

    unique key(uk)(约束字段的值是唯一的)

    primary key(pk)  (设置主键约束) 

    【注】:表的主键可以不唯一

    auto_increment(约束字段的值自动增加)

    foreign key(约束字段为表的外键)

    在创建表时可以添加约束,一般为:

    create table 表名(
      字段名 数据类型 约束类型,
      字段名 数据类型 约束类型
      ...   ....     ....);

    可以给字段设置的约束设置一个名字,在创建表时,在最后添加:

    constraint uk_bname unique(字段名)

    最后再以);结尾,uk_dname是为约束创建的名字。

    在为字段创建主键时,主键可以有多个,此时需要通过以下语句来实现:

    constraint 约束名 primary key(字段名1, 字段名2)

    最后再以);结尾。

    在创建表时也可以创建外键约束,只需要在最后一行添加:

    constraint 约束名 foreign key(字段名1) references 表名(字段名2)

    最后再以);结尾,在设置外键时,两个字段的数据类型必须一致。

    给已创建表添加外键约束:

    alter table 表名 add constraint fk_name foreign key (字段名) references 表名(字段名);
  • 相关阅读:
    (原).NET程序加入多语言包解决方案工具,超级棒
    c++标准库中的四个智能指针比较
    Mongodb c++ API的测试和封装
    MongoDB的c++驱动安装痛苦历程
    GLC_Player DOWNLOAD
    MongoDB的连接、创库、删库、插入文档、更新文档
    非关系型数据库--MongoDB的安装及概念
    虚拟机的安装
    OpenGL ES 学习
    QT学习
  • 原文地址:https://www.cnblogs.com/jdwfff/p/10492768.html
Copyright © 2011-2022 走看看