MySQL相关命令操作(一)
包含查看、创建、删除数据库;查看、复制数据库表结构及复制、清空表数据;查看数据库字符集等操作
1、查看数据库
show databases;
2、创建数据库
#database_name为需要创建的数据库名称
CREATE DATABASE database_name;
3、使用数据库
#使用use命令打开需要使用的database_name数据库名称
USE database_name;
4、删除数据库
DROP DATABASE database_name;
5、查看数据库中的表
show tables;
6、查看数据库中表的表结构
desc table_name;
7、复制表结构、主键、索引
#new_table:新表名称
#old_table:复制的表的名称
create table new_table like old_table;
8、将原表数据插入到复制表
insert into new_table select * from old_table;
9、复制表结构及数据(不包含主键、索引、分区等)
CREATE TABLE new_table SELECT * FROM old_table;
#或者
CREATE TABLE new_table AS SELECT * FROM old_table;
10、查看MySQL数据库服务器和mysql字符集
SHOW VARIABLES LIKE 'character%';
11、清空表数据
#table_name:需要清空数据的表
truncate table table_name;
#使用delete
delete from table_name;
#删除表使用drop
drop table table_name;
truncate和delete的区别:
(1)truncate删除后不记录mysql日志,因此不可以rollback,不可以恢复数据;而 delete 是可以 rollback ;
(2)truncate 相当于保留原mysql表的结构,重新创建表,所有的状态都相当于新的;而delete的效果相当于一行行删除,所以可以rollback;
(3)效率上truncate比delete快,truncate删除后将重建索引,delete不会删除索引;
(4)truncate操作返回0或-1(0则成功,-1则失败),delete返回删除的记录数;
(5)truncate不会触发任何DELETE触发器。