MySql之删除: drop delete truncate

删除数据库

* drop database 数据库名称;
* drop database if exists 数据库名称;

删除表

* drop table 表名;
* drop table  if exists 表名 ;

删除表中数据

* 语法:
	 * delete from 表名 [where 条件]
	
* 注意:
	1. 如果不加条件,则删除表中所有记录。
	2. 如果要删除所有记录
		1. delete from 表名; -- 不推荐使用。有多少条记录就会执行多少次删除操作
		2. TRUNCATE TABLE 表名; -- 推荐使用,效率更高 先删除表,然后再创建一张一样的表。
		
		说明:(1) 如果使用truncate table是删除表中的所有数据, 尤其是表中有大量的数据
		使用truncate table是将表结构重新建一次速度要比使用delete from快很多
		delete from是一行一行的删除,速度很慢。
		(2) delete可以返回被删除的记录数,而truncate table返回的是0

总结

删除数据库或是表的话用drop
删除表中的数据用delete或者是truncate

-- anan练习

SHOW DATABASES;

DROP DATABASE IF EXISTS ananTestDatabase;
CREATE DATABASE IF NOT EXISTS ananTestDatabase;

USE ananTestDatabase;

SHOW TABLES;

DROP TABLE IF EXISTS ananTestTable;
CREATE TABLE IF NOT EXISTS ananTestTable(
	id INT PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(20),
	age INT
);

-- insert into ananTestTable values("anan", 24);   -- 错误  Column count doesn't match value count at row 1
INSERT INTO ananTestTable (NAME, age) VALUES("anan", 24);  -- 一次插入一行数据
INSERT INTO ananTestTable (NAME, age) VALUES("anan", 24), ("xinxin", 25);  -- 一次插入多行数据

INSERT INTO ananTestTable (NAME, age) VALUES("xiaobao", 1); 
INSERT INTO ananTestTable (NAME, age) VALUES("xiaobei", 1); 


SELECT * FROM ananTestTable;

DELETE FROM ananTestTable WHERE id = 1;
DELETE FROM ananTestTable;

TRUNCATE TABLE ananTestTable;

你可能感兴趣的:(MySQL,mysql,drop,delete,truncate)