首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySql - 创建表如果不存在那么截断?

在MySQL中,如果要创建一个表,但如果表已经存在,则希望截断(即清空)该表,可以使用以下语句:

代码语言:sql
复制
CREATE TABLE IF NOT EXISTS table_name (
  id INT(11) NOT NULL AUTO_INCREMENT,
  name VARCHAR(30) NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

IF EXISTS (SELECT * FROM table_name) THEN
  TRUNCATE TABLE table_name;
END IF;

这里,我们首先使用CREATE TABLE IF NOT EXISTS语句来创建表(如果不存在)。然后,我们使用IF EXISTS语句来检查表中是否有数据。如果表中有数据,我们使用TRUNCATE TABLE语句来截断表,即删除所有数据,但保留表结构。

请注意,这里的表名为table_name,需要替换为实际的表名。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

MYSQL 清空截断

清空截断 清空:delete from users; 清空只是清空中的逻辑数据,但是物理数据不清除,如主键值、索引等不被清除,还是原来的值。...截断:truncate table users; 截断可以用于删除中 的所有数据。截断命令还会回收所有索引的分配页。...截断的执行速度与不带where子句的delete(删除)命令相同,甚至比它还要快。...delete(删除)一次删除一行数据,并且将每一行被删除的数据都作为一个事务记录日志;而truncate (截断则回收整个数据页,只记录很少的日志项。...delete(删除)和truncate(截断)都会回收被数据占用的空间,以及相关的索引。只有的 拥有者可以截断。 另外,truncate之后,如果有自动主键的话,会恢复成默认值。

5.2K10
  • MySQL 创建数据

    创建MySQL数据需要以下信息: 名 表字段名 定义每个表字段 语法 以下为创建MySQL数据的SQL通用语法: CREATE TABLE table_name (column_name column_type...---- 通过命令提示符创建 通过 mysql> 命令窗口可以很简单的创建MySQL数据。你可以使用 SQL 语句 CREATE TABLE 来创建数据。...实例 以下为创建数据 runoob_tbl 实例: root@host# mysql -u root -p Enter password:******* mysql> use RUNOOB; Database...使用PHP脚本创建数据 你可以使用 PHP 的 mysqli_query() 函数来创建已存在数据库的数据。 该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。...$retval ) { die('数据创建失败: ' . mysqli_error($conn)); } echo "数据创建成功\n"; mysqli_close($conn); ?>

    8.1K10

    MySQL 创建数据

    创建MySQL数据需要以下信息: 名 表字段名 定义每个表字段 语法 以下为创建MySQL数据的SQL通用语法: CREATE TABLE table_name (column_name column_type...---- 通过命令提示符创建 通过 mysql> 命令窗口可以很简单的创建MySQL数据。你可以使用 SQL 语句 CREATE TABLE 来创建数据。...实例 以下为创建数据 test 实例: root@host# mysql -u root -p Enter password:******* mysql> use test; Database changed...---- 使用Python创建数据 你可以使用 Python 的 execute() 函数来创建已存在数据库的数据。...规定要使用的 MySQL 连接。 execute 必需,执行必须的SQL语句。 cursor 必须,创建执行SQL的游标。 实例 以下实例使用了 Python 来创建数据创建数据 ?

    8.9K40

    MySQL创建数据

    ⭐本文介绍⭐ 使用mysql二进制方式连接 您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库。...在以上实例中,我们使用了root用户登录到mysql服务器,当然你也可以使用其他mysql用户登录。 如果用户权限足够,任何用户都可以在mysql的命令提示窗口中进行SQL操作。...该函数只有一个参数为 mysqli_connect() 函数创建连接成功后返回的 MySQL 连接标识符。...如果没有指定 link_identifier,则关闭上一个打开的连接。 提示:通常不需要使用 mysqli_close(),因为已打开的非持久连接会在脚本执行完毕后自动关闭。...实例 你可以尝试以下实例来连接到你的 MySQL 服务器: 连接 MySQL 作者水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢!

    4.3K20

    MySQL创建数据

    ⭐本文介绍⭐ 使用mysql二进制方式连接 您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库。...在以上实例中,我们使用了root用户登录到mysql服务器,当然你也可以使用其他mysql用户登录。 如果用户权限足够,任何用户都可以在mysql的命令提示窗口中进行SQL操作。...该函数只有一个参数为 mysqli_connect() 函数创建连接成功后返回的 MySQL 连接标识符。...如果没有指定 link_identifier,则关闭上一个打开的连接。 **提示:**通常不需要使用 mysqli_close(),因为已打开的非持久连接会在脚本执行完毕后自动关闭。...php dbpass = '123456'; // mysql用户名密码conn = mysqli_connect(dbhost, dbuser, 作者水平很有限,如果发现错误,一定要及时告知作者哦

    15.3K50

    mysql技巧:如果记录存在则更新如果不存在则插入的三种处理方法

    先建一个,便于后面讨论: CREATE TABLE `t_emp` ( `f_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id', `f_emp_code...f_emp_code`) ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='员工'...),如果存在,先delete,然后再insert。...这个方法有一个很大的问题,如果记录存在,每次执行完,主键自增id就变了(相当于重新insert了一条),对于有复杂关联的业务场景,如果主表的id变了,其它子表没做好同步,会死得很难看。...但是有另外一个问题,如果这个上有不止一个唯一约束,在特定版本的mysql中容易产生dead lock(死锁),见网友文章https://blog.csdn.net/pml18710973036/article

    8.8K20

    MySQL创建失败的问题

    今天有一个朋友问我一个MySQL的建问题,问题的现象是创建失败,根据他的反馈,问题比较奇怪, CREATE TABLE XXX ..此处省略260多个字段 `xxxxIsAllowIn` varchar...ˉ'; 是的,你没有看错,还有乱码,根据朋友反馈的现象是在生产环境可以创建成功,但是测试环境创建失败。...得到的一个初步结论就是先设置innodb_strict_mode为off,默认5.7是开启的,当然从MySQL5.5版本开始,可以开启InnoDB严格检查模式,如果采用了页数据压缩功能后,建议是开启该功能...在创建,更改创建索引时,如果写法有错误,不会有警告信息,而是直接抛出错误,这样就可直接将问题扼杀在摇篮里。 当然这个里的这个问题现象确实比较纠结。...解决方法3: 从结构设计入手,尽可能拆分这个的逻辑,把它拆分为多个。一个的字段数尽可能不要太多。

    4.9K70

    sqlserver怎么用语句创建_mysql查询创建语句

    创建的语句写法,供您参考,希望可以让您对SQL Server创建方面有更深的认识。...如果要区分大小和和区分排序,修改代码为:French_CS_AS 9:动态判断数据库是否存在 [sql] view plain copy use db_sqlserver; go...else print ‘该数据库不存在,可以利用该名创建’ 10:查看表的各种信息,可以查看指定数据库的属性、中字段属性、各种约束等信息 [sql] view plain...可以使用CREATE TABLE语句和SELECT语句的组合来创建从现有的副本。您可以查看完整的详细信息使用另一个创建 。...NOT NULL, ADDRESS CHAR (25) , SALARY DECIMAL (18, 2), PRIMARY KEY (ID) ); 您可以验证,如果你的已成功创建

    8.6K120

    卧槽,安装完MySQL竟然提示数据不存在!!

    只好安装我电脑上存在的MySQL 5.6来研究Seata源码了。安装完MySQL 5.6竟然提示我数据不存在!! 今天,就给小伙伴们分享下我是如何解决这个问题的。...InnoDB,但是能确定的,这几张确实是在mysql5.6中新入的。...' doesn't exist 执行完后,可以用show tables查看一下,看表的数据是否已经比删除之前减少了,如果减少了,说明你成功了!...mysql库,重建上面被删除的结构:数据库的建设脚本在mysql软件的安装目录的share目录下,我的mysql软件的安装路径为/usr/test/mysql binghe@localhost :...(none) 02:23:03> use mysql Database changed 如下是执行建脚本前的数量: binghe@localhost : mysql 02:23:48> source

    1.7K50

    mysql创建数据库的步骤_MySQL创建数据

    3、选择你所创建的数据库 mysql> USE cjhl_xzf Database changed 此时你已经进入你刚才所建立的数据库cjhl_xzf. 4、 创建一个数据库 首先看现在你的数据库中存在什么...下面来创建一个数据库mytable: 我们要建立一个你公司员工的生日表,的内容包含员工姓名、性别、出生日期、出生城市。...创建了一个后,我们可以看看刚才做的结果,用SHOW TABLES显示数据库中有哪些mysql> SHOW TABLES; +———————+ | Tables in menagerie |...我们先用SELECT命令来查看表中的数据: mysql> select * from mytable; Empty set (0.00 sec) 这说明刚才创建还没有记录。...我们可以按此方法一条一条地将所有员工的记录加入到中。 7、用文本方式将数据装入一个数据库 如果一条一条地输入,很麻烦。我们可以用文本文件的方式将所有记录加入你的数据库中。

    16.2K60

    MySQL创建数据基础篇

    创建MySQL数据需要以下信息: 名 表字段名 定义每个表字段 语法 以下为创建MySQL数据的SQL通用语法: CREATE TABLE table_name (column_name column_type...通过命令提示符创建 通过 mysql> 命令窗口可以很简单的创建MySQL数据。你可以使用 SQL 语句 CREATE TABLE 来创建数据。...实例 以下为创建数据 kxdang_tbl 实例: root@host# mysql -u root -p Enter password:******* mysql> use RUNOOB; Database...使用PHP脚本创建数据 你可以使用 PHP 的 mysqli_query() 函数来创建已存在数据库的数据。 该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。...可以是下列值中的任意一个: * MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个) * MYSQLI_STORE_RESULT(默认) 实例 以下实例使用了PHP脚本来创建数据

    1.8K10

    MySQL创建数据基础篇

    创建MySQL数据需要以下信息:名表字段名定义每个表字段语法以下为创建MySQL数据的SQL通用语法:CREATE TABLE table_name (column_name column_type...通过命令提示符创建通过 mysql> 命令窗口可以很简单的创建MySQL数据。你可以使用 SQL 语句 CREATE TABLE 来创建数据。...实例以下为创建数据 kxdang_tbl 实例:root@host# mysql -u root -pEnter password:*******mysql> use RUNOOB;Database...使用PHP脚本创建数据你可以使用 PHP 的 mysqli_query() 函数来创建已存在数据库的数据。该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。...可以是下列值中的任意一个: * MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个) * MYSQLI_STORE_RESULT(默认)实例以下实例使用了PHP脚本来创建数据创建数据

    2.8K30
    领券