数据库教程:MySQL创建和删除表操作命令实例讲解分享

创建表

简单的方式

代码如下:
CREATETABLEperson(
numberINT(11),
nameVARCHAR(255),
birthdayDATE
);

或者是

代码如下:
CREATETABLEIFNOTEXISTSperson(
numberINT(11),
nameVARCHAR(255),
birthdayDATE
);

查看mysql创建表:

代码如下:
SHOWCREATEtableperson;

CREATETABLE`person`(
 `number`int(11)DEFAULTNULL,
 `name`varchar(255)DEFAULTNULL,
 `birthday`dateDEFAULTNULL
)ENGINE=MyISAMDEFAULTCHARSET=utf8;

查看表所有的列:

代码如下:
SHOWFULLCOLUMNSfromperson;
+———-+————–+—————–+——+—–+———+——-+———————————+———+
|Field   |Type        |Collation      |Null|Key|Default|Extra|Privileges                     |Comment|
+———-+————–+—————–+——+—–+———+——-+———————————+———+
|number  |int(11)     |NULL           |YES |    |NULL   |      |select,insert,update,references|        |
|name    |varchar(255)|utf8_general_ci|YES |    |NULL   |      |select,insert,update,references|        |
|birthday|date        |NULL           |YES |    |NULL   |      |select,insert,update,references|        |
+———-+————–+—————–+——+—–+———+——-+———————————+———+

创建临时表:

代码如下:
CREATETEMPORARYTABLEtemp_person(
numberINT(11),
nameVARCHAR(255),
birthdayDATE
);

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

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

代码如下:
CREATETABLEIFNOTEXISTSperson2(
numberINT(11),
nameVARCHAR(255),
birthdayDATE
);

注意,原有表的结构与CREATETABLE语句中表示的表的结构是否相同,这一点没有验证。注释:如果您在CREATETABLE…SELECT语句中使用IFNOTEXISTS,则不论表是否已存在,由SELECT部分选择的记录都会被插入。

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

代码如下:
CREATETABLEnew_tblSELECT*FROMorig_tbl;

注意,用SELECT语句创建的列附在表的右侧,而不是覆盖在表上。

代码如下:
mysql>SELECT*FROMfoo;
+—+
|n|
+—+
|1|
+—+
mysql>CREATETABLEbar(mINT)SELECTnFROMfoo;
mysql>SELECT*FROMbar;
+——+—+
|m   |n|
+——+—+
|NULL|1|
+——+—+

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

代码如下:
CREATETABLEfoo(aTINYINTNOTNULL)SELECTb+1ASaFROMbar;

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

代码如下:
CREATETABLEnew_tblLIKEorig_tbl;

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

代码如下:
CREATETABLE`people`(
 `peopleid`smallint(6)NOTNULLAUTO_INCREMENT,
 `firstname`char(50)NOTNULL,
 `lastname`char(50)NOTNULL,
 `age`smallint(6)NOTNULL,
 `townid`smallint(6)NOTNULL,
 PRIMARYKEY(`peopleid`),
 UNIQUEKEY`unique_fname_lname`(`firstname`,`lastname`),
 KEY`fname_lname_age`(`firstname`,`lastname`,`age`)
);

其中peopleid是主键,以firstname和lastname两列建立了一个唯一索引,以firstname,lastname,age三列建立了一个普通索引

删除表

代码如下:
DROPTABLE tbl_name;

或者是

代码如下:
DROPTABLEIFEXISTStbl_name;

您可能感兴趣的文章:mysql表的清空、删除和修改操作详解mysql支持跨表delete删除多表记录MySQL添加、修改、删除表的列及约束等表的定义MySQL中批量删除指定前缀表的sql语句MySQL删除大表的性能问题解决方案mysql中多表删除其中ID相同记录的方法php中批量删除Mysql中相同前缀的数据表的代码mysqldelete多表连接删除功能在MySQL中删除表的操作教程MySQL实现快速删除所有表而不删除数据库的方法

标签: 命令 操作 SQL

MySQL修改表结构操作命令上述就是数据库技术:MySQL创建和删除表操作命令实例讲解分享的全部内容,如果对大家有所用处且需要了解更多关于mysql数据库学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/dtteaching/911324.html

(0)
上一篇 2021年10月25日
下一篇 2021年10月25日

精彩推荐