MySQL创建和删除表操作命令实例讲解

 更新时间:2014年12月02日 08:59:53   投稿:junjie  
这篇文章主要介绍了MySQL创建和删除表操作命令实例讲解,本文讲解了创建表、创建临时表、查看已经创建的mysql表等内容,需要的朋友可以参考下

创建表

简单的方式

复制代码 代码如下:

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 TABLE `person` (
  `number` int(11) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `birthday` date DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

查看表所有的列:

复制代码 代码如下:

SHOW FULL COLUMNS from person;
+----------+--------------+-----------------+------+-----+---------+-------+---------------------------------+---------+
| 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 |         |
+----------+--------------+-----------------+------+-----+---------+-------+---------------------------------+---------+

创建临时表:

复制代码 代码如下:

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语句创建的列附在表的右侧,而不是覆盖在表上。

复制代码 代码如下:

mysql> SELECT * FROM foo;
+---+
| n |
+---+
| 1 |
+---+
mysql> CREATE TABLE bar (m INT) SELECT n FROM foo;
mysql> SELECT * FROM bar;
+------+---+
| m    | n |
+------+---+
| NULL | 1 |
+------+---+

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

复制代码 代码如下:

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三列建立了一个普通索引

删除表

复制代码 代码如下:

DROP TABLE  tbl_name;

或者是

复制代码 代码如下:

DROP TABLE IF EXISTS tbl_name;

相关文章

  • 如何快速使用mysqlreplicate搭建MySQL主从

    如何快速使用mysqlreplicate搭建MySQL主从

    mysql-utilities工具集是一个集中了多种工具的合集,可以理解为是DBA的工具箱,本文介绍利用其中的mysqlreplicate工具来快速搭建MySQL主从环境。下面和小编一起来看看
    2019-05-05
  • MySQL为例讲解JDBC数据库连接步骤

    MySQL为例讲解JDBC数据库连接步骤

    这篇文章主要为大家详细介绍了MySQL为例讲解JDBC数据库连接步骤,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • Mysql和SQLServer驱动连接的实现步骤

    Mysql和SQLServer驱动连接的实现步骤

    本文主要介绍了Mysql和SQL Server的驱动连接,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • 讲解Linux系统下如何自动备份MySQL数据的基本教程

    讲解Linux系统下如何自动备份MySQL数据的基本教程

    这篇文章主要介绍了Linux系统下如何自动备份MySQL数据的基本教程,还给出了利用shell脚本全备份和增量备份的基本方法,需要的朋友可以参考下
    2015-11-11
  • Mysql效率优化定位较低sql的两种方式

    Mysql效率优化定位较低sql的两种方式

    通过慢查询日志定位那些执行效率较低的 SQL 语句,用 --log-slow-queries[=file_name] 选项启动时, mysqld 会 写一个包含所有执行时间超过 long_query_time 秒的 SQL 语句的日志文件,通过查看这个日志文件定位效率较低的 SQL
    2015-10-10
  • MySQL对varchar类型数字进行排序的实现方法

    MySQL对varchar类型数字进行排序的实现方法

    这篇文章主要介绍了MySQL对varchar类型数字进行排序的实现方法,文中用的是CAST方法,MySQL CAST()函数用于将值从一种数据类型转换为另一种特定数据类型,并通过代码示例讲解的非常详细,需要的朋友可以参考下
    2024-04-04
  • mysql免安装版配置步骤详解分享

    mysql免安装版配置步骤详解分享

    这篇文章主要介绍了mysql免安装版配置步骤详解,提供了二个网友的安装方法,大家可以参考使用
    2013-12-12
  • mysql格式化小数保留小数点后两位(小数点格式化)

    mysql格式化小数保留小数点后两位(小数点格式化)

    今天遇到一个问题,格式化浮点数的问题,用format(col,2)保留两位小数点,出现一个问题,例如下面的语句,后面我们给出解决方法
    2013-12-12
  • centos6.4下mysql5.7.18安装配置方法图文教程

    centos6.4下mysql5.7.18安装配置方法图文教程

    这篇文章主要为大家详细介绍了centos6.4下mysql5.7.18安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Mysql详细剖析数据库中的存储引擎

    Mysql详细剖析数据库中的存储引擎

    这篇文章详细剖析了数据库中的存储引擎,存储引擎是数据库中非常关键的部分,有感兴趣的小伙伴可以参考阅读本文
    2023-03-03

最新评论