系列文章目录


文章目录

  • 系列文章目录
  • 一、数据库的增删改查
  • 二、表的增删改查
  • 三、记录的增删改查


一、数据库的增删改查

  • 增:
  • 新建数据库:
CREATE DATABASE 数据库名;
  • 可选,指定编码:
CREATE DATABASE 数据库名 CHARSET='utf8';
  • 查:
  • 查看所有数据库:
SHOW DATABASES;  # 注意复数形式

在MySQL中,使用#号作为一行注释的开头。

  • 查看单个数据库的创建语句:
SHOW CREATE DATABASE 数据库名;
  • 查看当前所在的库的名字:
SELECT DATABASE();
  • 改:
  • 修改数据库编码:
ALTER DATABASE 数据库名 CHARSET='utf8mb4';
  • 打开指定数据库:
USE 数据库名;
  • 删:
  • 删除数据库:
DROP DATABASE 数据库名;

二、表的增删改查

在操作数据库中的表之前,需要先打开目标数据库。

  • 增:
  • 新建表:
CREATE TABLE 表名(
     字段名 字段类型(宽度) 若干约束条件,
    # 字段名为name,类型为CHAR,宽度为10,约束条件为该字段的值不能为空
     name CHAR(10) NOT NULL,
    # 字段名为age,类型为TINYINT,默认值为18
    age TINYINT DEFAULT 18,
    ……
);

几点说明:

  • 在数据超过宽度情况下,如果未开启严格模式(5.7以下默认不开启),会将多出的字符截掉;但开启了严格模式(5.7及以上默认开启),则会立刻报错。严格模式的开启和关闭会在后面讲到。
  • 同一张表中,字段的名称不能重复。
  • 括号内,字段名和字段类型是必须的,其他是可选的。
  • 最后一行不能有逗号。
  • 查:
  • 查看所有表:
SHOW TABLES;  # 注意复数形式
  • 查看单张表的创建语句:
SHOW CREATE TABLE 表名;
  • 查看表的字段详情:
DESCRIBE 表名;

# 简写形式
DESC 表名;
  • 改:
  • 修改表名:
ALTER TABLE 旧表名 RENAME 新表名;
  • 修改字段:
ALTER TABLE 表名 MODIFY 字段名 字段类型(宽度) 约束条件;
  • 修改字段和字段名:
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 字段类型(宽度) 约束条件;
  • 在最后面插入字段:
ALTER TABLE 表名 ADD 字段名 字段类型(宽度) 约束条件;
  • 在最前面插入字段:
ALTER TABLE 表名 ADD 字段名 字段类型(宽度) 约束条件 FIRST;
  • 在字段XXX后面插入字段:
ALTER TABLE 表名 ADD 字段名 字段类型(宽度) 约束条件 AFTER 字段XXX;
  • 删:
  • 删除表:
DROP TABLE 表名;
  • 删除字段:
ALTER TABLE 表名 DROP 字段名;
  • 清空表并重置主键:
TRUNCATE 表名;
  • 免去打开数据库的方法:
    可以使用数据库名.表名的方法,直接指定表,免去USE 数据库名的步骤。

三、记录的增删改查

  • 增:
  • 按照创建表时,定义的字段顺序插入值:
    字段值的类型要与字段约定的类型一致。
INSERT INTO 表名 VALUES(值, 值……);
  • 按照指定的字段插入值:
INSERT INTO 表名(字段,字段……) VALUES(值, 值……);
  • 查:

在MySQL中,查询出来的结果也是一张表,被临时存放在内存中!

  • 查询所有数据:
SELECT * FROM 表名;

*代表匹配多个任意字符,即任意的字段名。

  • 查询指定字段:
SELECT 字段A,字段B…… FROM 表名;

可以在数字类型的字段后面使用数学运算符,直接对每条记录进行运算:

SELECT 字段A*10,字段B+3…… FROM 表名;
  • 保存查询结果到新表:
CREATE TABLE 新表 SELECT 字段…… FROM 旧表 条件……;

此方法,只能保存查询结果的结构和部分数据,不能复制主键和外键。

  • 改:
  • 修改单个值:
UPDATE 表名 SET 属性名='新的值' WHERE 条件;

WHERE的用法比较复杂,会在后面讲到。

  • 删:
  • 删除一条记录:
DELETE FROM 表名 WHERE 条件;
  • 清空整张表:
DELETE FROM 表名;

数据库中,最常用的操作就是各种查询,因此查询语句是最常用的。