Heim > Datenbank > MySQL-Tutorial > mysql创建和删除表

mysql创建和删除表

WBOY
Freigeben: 2016-06-07 15:02:41
Original
1104 Leute haben es durchsucht

创建表 简单的方式 CREATE TABLE person (number INT( 11 ),name VARCHAR( 255 ),birthday DATE); 或者是 CREATE TABLE IF NOT EXISTS person (number INT( 11 ),name VARCHAR( 255 ),birthday DATE); 查看mysql创建表: SHOW CREATE table person; CREATE TA

创建表

简单的方式

<span>CREATE TABLE person (
number INT(</span><span>11</span><span>),
name VARCHAR(</span><span>255</span><span>),
birthday DATE
);</span>
Nach dem Login kopieren

或者是

<span>CREATE TABLE IF NOT EXISTS person (
number INT(</span><span>11</span><span>),
name VARCHAR(</span><span>255</span><span>),
birthday DATE
);</span>
Nach dem Login kopieren

查看mysql创建表:

mysql创建和删除表

<span>SHOW CREATE table person;

</span><span>CREATE TABLE `person` (
  `number` </span><span>int</span>(<span>11</span><span>) DEFAULT NULL,
  `name` varchar(</span><span>255</span><span>) DEFAULT NULL,
  `birthday` </span><span>date</span><span> DEFAULT NULL
) ENGINE</span>=MyISAM DEFAULT CHARSET=utf8;
Nach dem Login kopieren

mysql创建和删除表

查看表所有的列:

mysql创建和删除表

<span>SHOW FULL COLUMNS from person;
</span>+----------+--------------+-----------------+------+-----+---------+-------+---------------------------------+---------+
| Field    | Type         | Collation       | Null | Key | Default | Extra | Privileges                      | Comment |
+----------+--------------+-----------------+------+-----+---------+-------+---------------------------------+---------+
| number   | <span>int</span>(<span>11</span>)      | NULL            | YES  |     | NULL    |       | <span>select</span>,insert,update,references |         |
| name     | varchar(<span>255</span>) | utf8_general_ci | YES  |     | NULL    |       | <span>select</span>,insert,update,references |         |
| birthday | <span>date</span>         | NULL            | YES  |     | NULL    |       | <span>select</span>,insert,update,references |         |
+----------+--------------+-----------------+------+-----+---------+-------+---------------------------------+---------+
Nach dem Login kopieren

mysql创建和删除表

 

创建临时表

<span>CREATE TEMPORARY TABLE temp_person (
number INT(</span><span>11</span><span>),
name VARCHAR(</span><span>255</span><span>),
birthday DATE
);</span>
Nach dem Login kopieren

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

 

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

 

<span>CREATE TABLE IF NOT EXISTS person2 (
number INT(</span><span>11</span><span>),
name VARCHAR(</span><span>255</span><span>),
birthday DATE
);</span>
Nach dem Login kopieren

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

 

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

CREATE TABLE new_tbl SELECT * FROM orig_tbl;
Nach dem Login kopieren

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

mysql创建和删除表

mysql> SELECT *<span> FROM foo;
</span>+---+
| n |
+---+
| <span>1</span> |
+---+<span>
mysql</span>><span> CREATE TABLE bar (m INT) SELECT n FROM foo;
mysql</span>> SELECT *<span> FROM bar;
</span>+------+---+
| m    | n |
+------+---+
| NULL | <span>1</span> |
+------+---+
Nach dem Login kopieren

mysql创建和删除表

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

CREATE TABLE foo (a TINYINT NOT NULL) SELECT b+<span>1</span> AS a FROM bar;
Nach dem Login kopieren

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

CREATE TABLE new_tbl LIKE orig_tbl;
Nach dem Login kopieren

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

mysql创建和删除表

<span>CREATE TABLE `people` (
  `peopleid` smallint(</span><span>6</span><span>) NOT NULL AUTO_INCREMENT,
  `firstname` </span><span>char</span>(<span>50</span><span>) NOT NULL,
  `lastname` </span><span>char</span>(<span>50</span><span>) NOT NULL,
  `age` smallint(</span><span>6</span><span>) NOT NULL,
  `townid` smallint(</span><span>6</span><span>) NOT NULL,
  PRIMARY KEY (`peopleid`),
  UNIQUE KEY `unique_fname_lname`(`firstname`,`lastname`),
  KEY `fname_lname_age` (`firstname`,`lastname`,`age`)
) ;</span>
Nach dem Login kopieren

mysql创建和删除表

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

 

删除表

DROP TABLE  tbl_name;
Nach dem Login kopieren

或者是

DROP TABLE IF EXISTS tbl_name;
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage