mysql增删表

一、创建表并设置主键自增

CREATE TABLE person (
number INT(11) primary key not null auto_increment,
name VARCHAR(50),
birthday DATE
);
或者是:

CREATE TABLE IF NOT EXISTS person (
number INT(11) primary key not null auto_increment,
name VARCHAR(50),
birthday DATE
);

二、删除表

DROP TABLE  tbl_name;
或者是:

DROP TABLE IF EXISTS tbl_name;

三、查表

SHOW CREATE table person;  //返回person表的创建语句

四、创建临时表

CREATE TEMPORARY TABLE temp_person (
number INT(11),
name VARCHAR(255),
birthday DATE
);
在创建表格时,您可以使用 TEMPORARY 关键词。只有在当前连接情况下, TEMPORARY 表才是可见的。当连接关闭时, TEMPORARY 表被自动取消。这意味着两个不同的连接可以使用相同的临时表名称,同时两个临时表不会互相冲突,也不与原有的同名的非临时表冲突。(原有的表被隐藏,直到临时表被取消时为止。)您必须拥有 CREATE TEMPORARY TABLES 权限,才能创建临时表。


如果表已存在,则使用关键词IF NOT EXISTS可以防止发生错误。

CREATE TABLE IF NOT EXISTS person2 (
number INT(11),
name VARCHAR(255),
birthday DATE
);
注意,原有表的结构与CREATE TABLE语句中表示的表的结构是否相同,这一点没有验证。注释:如果您在CREATE TABLE...SELECT语句中使用IF NOT EXISTS,则不论表是否已存在,由SELECT部分选择的记录都会被插入。

CREATE TABLE语句的末尾添加一个SELECT语句,在一个表的基础上创建表

CREATE TABLE new_tbl SELECT * FROM orig_tbl;
注意,用 SELECT 语句创建的列附在表的右侧,而不是覆盖在表上


也可以明确地为一个已生成的列指定类型

CREATE TABLE foo (a TINYINT NOT NULL) SELECT b+1 AS a FROM bar;

根据其它表的定义(包括在原表中定义的所有的列属性和索引),使用LIKE创建一个空表:

CREATE TABLE new_tbl LIKE orig_tbl;

 创建一个有主键,唯一索引,普通索引的表:

CREATE TABLE `people` (
  `peopleid` smallint(6) NOT NULL AUTO_INCREMENT,
  `firstname` char(50) NOT NULL,
  `lastname` char(50) NOT NULL,
  `age` smallint(6) NOT NULL,
  `townid` smallint(6) NOT NULL,
  PRIMARY KEY (`peopleid`),
  UNIQUE KEY `unique_fname_lname`(`firstname`,`lastname`),
  KEY `fname_lname_age` (`firstname`,`lastname`,`age`)
) ;
其中peopleid是主键,以firstname和lastname两列建立了一个唯一索引,以firstname,lastname,age三列建立了一个普通索引


关于索引更多可以参考:http://www.cnblogs.com/ggjucheng/archive/2012/11/04/2754128.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值