创建数据库:
CREATE DATABASE 数据库名;
使用mysqladmin 创建数据库:mysqladmin -u root -p create 数据库名;
常用创建方式:CREATE DATABASE IF NOT EXISTS RUNOOB DEFAULT CHARSET utf8 COLLATE utf8mb4_general_ci
charset:字符编码,一般使用 utf8mb4(MySQL 中的 utf8 编码最大字符长度为 3 字节,遇到宽度为 4 字节时会插入异常。
collate:排序规则,Latin1编码的默认COLLATE为latin1_swedish_ci
GBK编码的默认COLLATE为gbk_chinese_ci
utf8mb4编码的默认为utf8mb4_general_ci
ci:大小写不敏感
cs:大小写敏感
显示数据库:SHOW DATABASES;
使用某个数据库:USE 数据库名
删除某个数据库:DROP DATEBASE 数据库名;
创建数据表:
CREATE TABLE IF NOT EXISTS `test1`(
`id` INT UNSIGNED AUTO_INCREMENT,
`title` VARCHAR(40) NOT NULL,
`author` VARCHAR(40) NOT NULL,
`date` DATE,
PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
ENGINE 设置存储引擎,CHARSET 设置编码。
存储引擎InnoDB,MyISAM 两种类型有什么区别:
MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。
MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持
InnoDB提供事务支持,外键等高级数据库功能。
删除数据表:
DROP TABLE table_name; #立即删除数据表,释放内存。
TRUNCATE TABLE table_name; #立即清空数据表内数据,保留表结构,释放内存。
DELETE FROM TABLE; #删除表全部数据,表结构不变,对于 MyISAM 会立刻释放磁盘空间,InnoDB 不会释放磁盘空间。并将该操作写入事务日志中方便回滚操作。