# 库操作
- 建立库
CREATE DATABASE IF NOT EXISTS `库名`
DEFAULT CHARACTER SET = utf8;
- 查看所有
SHOW DATABASES;
- 查看正在使用的
SELECT DATABASE();
- 使用库
USE `库名`;
- 删除库
DROP DATABASE IF EXISTS `库名`;
- 修改库
注:只能修改库的编码格式,不能修改库名
代码语言:javascript复制ALTER DATABASE `库名` DEFAULT CHARACTER SET = 编码格式;
- 查看端口
show global variables like 'port';
# 表操作
- 创建 至少要有一个字段
CREATE TABLE IF NOT EXISTS `表名`(
字段名称 数据类型 属性 约束条件 注释,
字段名称 数据类型 属性 约束条件 注释
)ENGINE = innoDB DEFAULT CHARACTER SET = utf8 COMMENT '注释内容';
- 查看所有
SHOW TABLES
- 查看创建方式
SHOW CREATE TABLE `表名`
- 查看字段
DESC `表名`;
- 修改表结构
修改 引擎 编码格式 注释
ALTER TABLE `表名` ENGINE = 引擎 CHARACTER SET = utf8 COMMENT '注释内容';
- 删除表结构
DROP TABLE `表名`;
# 字段操作
注:字段的修改等操作,一定要在没有数据时做修改
- 修改字段名称和设定
ALTER TABLE `表名`
CHANGE 旧字段名 新字段名 数据类型 属性 约束条件 注释;
- 修改属性
ALTER TABLE `表名`
MODIFY 字段名 数据类型 属性 约束条件 注释;
- 删除
ALTER TABLE `表名` DROP `字段名`;
- 新增
- 在所有字段之后新增
ALTER TABLE `表名` ADD `字段名` 数据类型 属性 约束条件 注释 ;
- 在所有字段之前新增
ALTER TABLE `表名` ADD `字段名` 数据类型 属性 约束条件 注释 FIRST;
- 在指定字段之后新增
ALTER TABLE `表名` ADD `字段名` 数据类型 属性 约束条件 AFTER 指定字段名 ;
# 数据操作
注:给所有字段新增数据 -- 数据必须和小括号中,指定的字段一一对应
- 新增
INSERT INTO `表名` (`字段1`,`字段2`...) VALUES (数据1,数据2...);
- 修改
- 给指定字段的所有数据,更新数值
UPDATE `表名` SET `字段` = 数值;
- 给符合条件的指定字段的数据,更新数值只能加WHERE 约束条件
UPDATE `表名` SET `字段` = 数值 WHERE 约束条件;
- 删除
- 删除所有数据,但是保留id主键值
DELETE FROM `表名`;
- 删除符合条件的数据,但是保留id主键值
DELETE FROM `表名` WHERE 约束条件;
- 删除所有的数据,不保留id主键值
TRUNCATE TABLE `表名`;
# 其他内容
设定数据库编码格式:
SET NAMES utf8 / gbk;
不是真正的修改数据库的编码格式 是设定当前数据库数据,显示的编码格式 不修改数据库原始的编码格式
确保数据库的编码格式,与显示环境的编码格式统一 在数据库中,设定的编码格式,会体现在数据的数据中,但是我们看不到效果 必须要与显示环境的编码格式统一 数据库设定的编码格式是utf8
- 显示环境1: 可视化工具 MySQL-front 设定数据库可以是任意编码格式,都能正常显示
- 显示环境2: cmd命令行 cmd命令行的显示编码格式是 gbk 如果 数据库编码格式 是 utf8 ,会显示为乱码 必须让 数据库编码格式 也是 gbk ,才能正常显示中文 SET NAMES gbk;
- 显示环境3: 前端页面 前端页面的显示编码格式是 utf8 如果 数据库编码格式 是 gbk ,会显示为乱码 必须让 数据库编码格式 也是 utf8 ,才能正常显示中文 mysqli_query($link , "SET NAMES utf8");