一. MySQL服务

  • 启动
    net start mysql
  • 停止
    net stop mysql  
  • 连接
    mysql -h 主机地址 -u 用户名 -p 用户密码
    mysql -h localhost -u root -P 3306 -p password
    -h连接地址,-u登录用户名,-P连接端口(默认为 3306),-p登录密码
  • 修改
    mysqladmin -u 用户名 -p 旧密码 password 新密码
  • 退出
    exit

二. 用户管理

  • 新建用户
    CREATE USER 用户名 IDENTIFIED BY 新用户名

  • 更改密码
    SET PASSWORD FOR 用户名 = PASSWORD(新密码)

  • 权限管理
    查看:SHOW GRANTS FOR 用户名
    授权:GRANT SELECT ON 库名.* TO 用户名
    取消:REVOKE SELECT ON 库名.* TO 用户名

三. 数据库操作

  • 查看
    所有库:SHOW DATABASES
    所在库:SHOW CREATE DATABASES 库名
    相关库:SHOW DATABASES LIKE 库名
  • 使用
    USE 库名
  • 创建
    CREATE DATABASE 库名
    CREATE DATABASE IF NOT EXISTS 库名
  • 修改
    ALTER DATABASE 库名
  • 删除
    DROP DATABASE 库名
    DROP DATABASE IF EXISTS 库名

四. 表结构操作

  • 查看
    所有表:SHOW TABLES
    所在表:SHOW CREATE TABLE 表名
    相关表:SHOW TABLES LIKE 表名
    所在表字段:DESC 表名

  • 创建
    CREATE TABLE 表名
    CREATE TABLE IF NOT EXISTS 表名

  • 修改
    重命名:ALTER TABLE 旧表名 RENAME 新表名RENAME TABLE 旧表名 TO 新表名RENAME TABLE 原表名 TO 库名.表名
    表结构:ALTER TABLE 表名 操作名

    • 添加字段:ALTER TABLE 表名 ADD 字段名 字段类型
    • 删除字段:ALTER TABLE 表名 DROP 字段名
    • 修改字段:ALTER TABLE 表名 MODIFY 字段名 字段类型
  • 删除
    DROP TABLE 表名
    DROP TABLE IF EXISTS 表名

五. 表数据操作

1. 插入

INSERT INTO 表名(字段名1,字段名2,...) values(值1,值2,...)
INSERT INTO 表名 SET 字段名 = 值

2. 删除

全部删除:DELETE FROM 表名TRUNCATE TABLE 表名
条件删除:DELETE FROM 表名 WHERE 条件

3. 更新

单字段:UPDATE 表名 SET 字段名 = 值 WHERE 条件
多字段:UPDATE 表名 SET 字段名1 = 值1, 字段名2 = 值2 WHERE 条件

4. 查询

所有数据:SELECT * FROM 表名
指定数据:SELECT 字段名 FROM 表名
筛选数据:SELECT 字段名 FROM 表名 WHERE 条件

  • 条件(WHERE)

    • 关系(IS NULL)
      SELECT * FROM 表名 WHERE 字段名 IS NULL
    • 逻辑(AND,OR)
      并且:SELECT * FROM 表名 WHERE 字段名1 = 值1 AND 字段名2 = 值2
      或者:SELECT * FROM 表名 WHERE 字段名1 = 值1 OR 字段名2 = 值2
    • 区间值(IN,BETWEEN AND)
      确定值:SELECT * FROM 表名 WHERE 字段名1 IN (值1,值2)
      闭区间:SELECT * FROM 表名 WHERE 字段名1 BETWEEN 值1 AND 值2
    • 模糊(_,%)
      单个字符:SELECT * FROM 表名 WHERE 字段名 LIKE _值
      任意字符:SELECT * FROM 表名 WHERE 字段名 LIKE %值
  • 去重(DISTINCT,GROUP BY)
    合并:SELECT DISTINCT 列名 FROM 表名
    分组:SELECT 列名 FROM 表名 GROUP BY 列名

  • 排序(ORDER BY)
    单字段:SELECT * FROM 表名 ORDER BY 字段名 ASC|DESC
    多字段:SELECT * FROM 表名 ORDER BY 字段名1,字段名2 ASC|DESC

  • 分组(GROUP BY)
    所有:SELECT * FROM 表名 WHERE 条件 GROUP BY 字段名
    指定:SELECT 字段名 FROM 表名 WHERE 条件 GROUP BY 字段名

  • 分页(LIMIT)
    从0开始取n条:SELECT * FROM 表名 LIMIT N
    从m开始取n条:SELECT * FROM 表名 LIMIT M,N

  • 联合(INNER JOIN,LEFT JOIN,RIGHT JOIN)
    内连接:SELECT * FROM 表1 INNER JOIN 表2 ON 表1字段值 = 表2字段值
    左连接:SELECT * FROM 表1 LEFT JOIN 表2 ON 表1字段值 = 表2字段值
    右连接:SELECT * FROM 表1 RIGHT JOIN 表2 ON 表1字段值 = 表2字段值

  • 函数

    • 数量(COUNT)
      所有:SELECT COUNT(*) AS 字段名 FROM 表名 WHERE 条件
      指定:SELECT COUNT(字段名) FROM 表名 WHERE 条件

    • 最大值:SELECT MAX(字段名) FROM 表名 WHERE 条件

    • 最小值:SELECT MIN(字段名) FROM 表名 WHERE 条件

    • 数值和:SELECT SUM(字段名) FROM 表名 WHERE 条件

    • 平均值:SELECT AVG(字段名) FROM 表名 WHERE 条件