zoukankan      html  css  js  c++  java
  • 创建表和操作表

    一、创建表

      为利用CREATE TABLE创建表,必须给出下列信息:新表的名字,在关键字CREATE TABLE之后给出;表列的名字和定义,用逗号分隔。

    1、如果仅想在一个表不存在时创建它,则应该在表名前面给出IF NOT EXISTS。

    2、表的主键可以在创建表时用PRIMARY KEY(col1,col2,...)关键字指定。主键值必须唯一。主键中只能使用不允许为NULL值的列。允许NULL值的列不能作为唯一标识。

    3、AUTO_INCREMENT告诉MySQL,本列每当增加一个值时自动增量。每个列只允许一个AUTO_INCREMENT列,而且它必须被索引。也可以简单的在INSERT语句中指定该列的值,只要它是唯一的,该值将用来替代自动生成的值。后续的增量奖开始使用该手工插入的值。

    4、NULL为默认设置,如果不指定NOT NULL,则认为指定的是NULL。

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

    6、在你使用CREATE TABLE创建表时,该引擎具体创建表,在你使用SELECT语句或进行其他数据处理时,该引擎在内部处理你的请求。

    7、外键不能跨引擎,即使用一个引擎的表不能引用具有不同引擎表的外键。

     1 CREATE TABLE IF NOT EXISTS customers (
     2   cust_id int NOT NULL AUTO_INCREMENT,
     3   cust_name char(50) NOT NULL,
     4   cust_address char(50) NULL,
     5   cust_city char(50) NULL,
     6   cust_state char(50) NULL,
     7   cust_zip char(50) NULL,
     8   cust_country char(50) NULL,
     9   cust_contact char(50) NULL,
    10   cust_email char(50) NOT NULL DEFAULT '996@QAQ.com',
    11   PRIMARY KEY (cust_id)
    12 ) ENGINE=InnoDB;

    二、更新表

      为更新表定义,可使用ALTER TABLE语句。

    1、增加列

    1 ALTER TABLE customers ADD cust_phone char(50);

    2、删除列

    1 ALTER TABLE customers DROP cust_phone;

    三、删除表

    1 DROP TABLE table_name;

    四、重命名表

    1 RENAME TABLE table_name TO table_name_new;
  • 相关阅读:
    排序链表
    给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。
    给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
    快速排序之三路快排
    双向链表实现
    删除链表重复元素
    链表是否是回文串
    链表逆序
    排序之归并排序
    线性表之链表实现
  • 原文地址:https://www.cnblogs.com/ACGame/p/10106179.html
Copyright © 2011-2022 走看看