mysql 创建库和表
数据库
创建数据库
语法
CREATE DATABASE [IF NOT EXISTS] <数据库名>
[[DEFAULT] CHARACTER SET <字符集名>]
[[DEFAULT] COLLATE <校对规则名>];
示例
CREATE DATABASE userdb CHARACTER SET utf8 COLLATE utf8_general_ci;
这里常见的校对规则有
utf8_general_ci
:支持中英文的数字大小的比较,同时不区分大小写。utf8_general_cs
:同上,区分大小写。utf8_unicode_ci
:适用于德语,法语,俄语等语言需求,性能会稍稍低一点。
查看数据库
查看有哪些数据库:
SHOW DATABASES;
查看具体数据库的建表语句:
SHOW CREATE DATABASE userdb;
进入数据库:
USE userdb;
删除数据库
DROP DATABASE [if EXISTS] userdb;
数据表
创建表
语法
CREATE TABLE [IF NOT EXISTS] <表名> ([表定义选项])[表选项];
示例
CREATE TABLE employee(
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(25) NOT NULL COMMENT '名字',
gender VARCHAR(10) NOT NULL COMMENT '性别',
salary FLOAT NOT NULL COMMENT '薪水',
PRIMARY KEY(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
查看表
查看建表语句
SHOW CREATE TABLE userdb;
查看表结构
DESC userdb;
删除表
DROP TABLE [IF EXISTS] userdb;
清除表数据
DELETE FROM userdb;
TRUNCATE TABLE userdb;
delete from
是删除表数据,对于auto_increment的字段id还是继续增加。而truncate table
相当于保留了表的结构而重新建立了一张同样的新表。- 效率上
truncate
比delete
快。但truncate
删除后不记录mysql日志,不可以恢复数据。