本文列举了一些初级的 MySQL 命令。
CREATE DATABASE 数据库名;
CREATE TABLE IF NOT EXISTS 表名(
字段名 列定义,
字段名 列定义
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
SHOW DATABASES;
SHOW TABLES;
SHOW TABLES FROM 数据库名;
SHOW COLUMNS FROM 表名;
NULL
NOT NULL
AUTO_INCREMENT
UNSIGNED
PRIMARY KEY
或 KEY
UNIQUE KEY
DEFAULT
FOREIGN KEY
CREATE TABLE 表名(
pid 定义,
FOREIGN KEY (pid) REFERENCES 父表 (字段) [参照操作];
);
CASCADE
SET NULL
ON DELETE
RESTRICT
USE mysql;
DELETE FROM user WHERE user='admin' and host='%';
character-set-server = utf8mb4
SHOW VARIABLES LIKE 'character%';
SELECT VERSION();
SELECT DATABASE();
SELECT USER();
SHOW STATUS; # 服务器状态
SHOW VARIABLES; # 服务器配置变量
保证数据库的完整性
原子性
一致性
隔离性
持久性
InnoDB
MyISAM
8.0 已废弃
Memory
CSV
Archive
default-storage-engine = engine
当多个连接对记录进行修改时保证数据的一致性和完整性。
共享锁(读锁)同一时间段内,多个用户可以读取同一资源,读取过程中数据不会发生任何变化。
排它锁(写锁)在任何时候只能有一个用户写入资源,当进行写锁时会阻塞其他的读锁或者写锁操作。
表锁
行锁