创建表

  1. CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tb_name
  2. (
  3. 字段名1 数据类型[列级完整性约束条件][默认值]
  4. [,字段名2 数据类型[列级完整性约束条件][默认值]]
  5. [, ......]
  6. [,表级完整性约束条件]
  7. )[ENGINT=引擎类型]
  8. [select_statement];

TEMPORARY:表示创建临时表,在当前会话结束后将自动消失 IF NOT EXISTS:在建表前,先判断表是否存在,只有该表不存在时才创建 select_statement:通过select语句建表

例子:

  1. create table customers
  2. (
  3. cust_id int not null auto_increment,
  4. cust_name char(50) not null,
  5. cust_sex char(1) not null default 0,
  6. cust_address char(50) null,
  7. cust_contact char(50) null,
  8. primary key(cust_id)
  9. );

更新表

  1. ALTER TABLE [db_name.]table_name
  2. 子句

子句:增加列 ADD [COLUMN]

  1. alter table mysql_test.customers
  2. add column cust_city char(10) not null default 'foshan' after cust_sex;

子句:修改表中列的名称或数据类型 CHANGE [COLUMN]

  1. alter table mysql_test.customers
  2. change column cust_sex sex char(2) not null default 'm';

子句:修改或删除表中指定列的默认值 ALTER [COLUMN]

  1. alter table mysql_test.customers
  2. alter collumn cust_city set default 'beijing';

子句:只修改指定列的数据类型,不干涉列名 MODIFY [COLUMN]

  1. alter table mysql_test.customers
  2. modify column cust_name char(20) first;
  • first 指定列位置到第一列

    子句:删除列 DROP [COLUMN]

    1. alter table mysql_test.customers
    2. drop column cust_contact;

    子句:为表重命名 RENAME [TO]

    1. alter table mysql_test.customers
    2. rename to mysql_test.cust;

    删除表

    1. DROP [TEMPORARY] TABLE [IF EXISTS]
    2. table_name1[,table_name2]......
    3. [RESTRICT|CASCADE];

    查看表

    1. SHOW TABLES FROM db_name;

    查看表结构

    1. SHOW COLUMNS FROM db_name.table_name
    1. {DESCRIBE|DESC} table_name [col_name|wild];