zoukankan      html  css  js  c++  java
  • MySQL表结构笔记9

    本篇大纲
    MySQL数据表

    创建表

    创建主键

    AUTO_INCREATE

    指定默认值

    更新表结构

    删除表,重命名表

    01:表

    • MySQL 数据库的表是一个二维表,由一个或多个数据列构成
    • 每个数据列都有它的特定类型,该类型决定了MySQL如何看待该列数据

    02:创建表(命令)

    • 格式:使用create table 创建表,必须给出下列信息
    1. 新表的名字
    2. 表中列的名字和定义,用逗号分隔

    创建表(实例)

    CREATE TABLE customers

    cust_id int NOT NULL AUTO_TNCREMENT,

    cutst_name char(50) NOT NULL,

    cust_address char(50) NULL,

    cust_city char(50) NULL,

    PRIMARY KEY (cust_id)

    )ENGINE=InnoDB;

    03:创建表(说明)

    • 从例子中可以看到,表名紧跟在CREATETABLE关键字后面,实际的表定义(所有列)括在圆括号之中
    • 各列之间用逗号分隔,这个表由9列组成。每列的定义以列名开始,后跟列的数据类型
    • 表的主键可以在创建表时用PRIMARY KEY 关键字指定

    04:给列指定NULL类型

    • NULL 值就是没有值或缺省
    • 定义为NULL值的列允许在插入行时不给出该列的值,指定NOT NULL值的列,在插入或更新行时,该列必须有值
    • 例1:创建表,并指定特定的列为NOT NULL

    给列指定NULL类型(实例)

    CREATE TABLE order(

    order_num int NOT NULL AUTO_TNCRMENT,

    order_date datetime NOT NULL,

    cust_id int NOT NULL,

    PRIMARY KEY (order_num)

    )ENFINE=InnoDB;

    05:创建主键

    • 主键值必须唯一。即,表中的每行必须具有唯一的主键值
    • 如果主键使用单个列,则他的值必须唯一。如果使用多个列,则这些列的组合值必须唯一
    • 创建主键的语法是:在创建表的时候使用如下命令:
    • PRIMAY KEY(列名)

    06:AUTO_INCREMENT

    • AUTO_INCREMENT告诉MySQL,本列每当增加一行时自动增量
    • 每次执行一个insert操作时,MySQL自动对该列增1
    • 每个表只允许一个AUTO_INCREMENT列,而且它必须可以被索引(通常使用它作为主键)
    • 使用语句:select last_insert_id() 可以获取当前表中的AUTO_INCREMENT值

    07:指定默认值

    • 如果在插入行时没有给出值,MySQL允许指定此时使用的默认值
    • 默认值用create table语句的列定义中的DEFAULT关键字指定

    指定默认值(实例)

    CREAT TABLE orderitems(

    order_num int NOT NULL,

    prod_id char(10) NOT NULL,

    quantity int NOT NULL DEFAULT 1,

    PRIMARY KEY (order_num,order_item)

    )ENGINE=InnoDB

    08:更新表

    • 更新表的定义,使用ALTER TABLE语句
    • 使用ALTER TABLE更改表结构,必须给出下面的信息
    1. 在ALTER TABLE之后给出更改的表名
    2. 所做更改的列表

    09:添加列(实例1)

    • 实例:给表添加一列

    ALTER TABLE vendors ADD vend_phone CHAR(20) not null default '123456';

    • 说明:上述语句给vendors表增加一个名为vend_phone的列,必须明确其数据类型

    10:添加列(实例2)

    image.png

    11:修改列

    • 格式:Alter table 表名 modify 列名 新类型 新参数;
    • alter table 表名 change 旧列名 新列名 新类型 新参数;

    12:修改列(实例1)

    image.png

    13:修改列(实例2)

    image.png

    14:删除列(实例)

    • 格式:alter table 表名 drop 列名;
    • 实例:删除一例

    ALTER TABLE vendors Drop vend_phone;

    15:更新表(实例)

    • 实例3:给表指定外键

    image.png

    16:删除表

    • 删除表是删除整个表而不是其内容,使用命令
    • DROP TABLE 表名;

    17:重命名表

    • 使用RENAME TABLE 语句可以重命名一个表;
    • RENAME TABLE 旧的表名 TO 新的表名;

    image.png

     

  • 相关阅读:
    SQL多表组合查询
    软件测试基础知识点
    Jenkins可持续集成Python自动化脚本
    自动化总结(三) Unittest的应用2
    unittest单元测试2(转载)
    unittest单元测试(转载)
    自动化总结(二) Unittest的应用
    自动化测试小结(一)
    初识ES数据库(转载)
    功能测试小结(三)
  • 原文地址:https://www.cnblogs.com/kelly11/p/13206325.html
Copyright © 2011-2022 走看看