mysql 学习笔记

mysql

mysql语句分类

DDL

  • 定义数据库对象 关键字creat,drop,alter

    • 操作库

      • 创建数据库

        • 1.直接创建 CREATE DATABASE 数据库名
        • 2.判断创建 CREATE DATABASE IF NOT EXISTS 数据库名
        • 3.创建数据库并指定字符集(编码表默认为-UTF): CREATE DATABASE 数据库名 CHARACTER SET 字符集
      • 查看数据库

        • 1.查看全部创建----SHOW DATABSES
        • 2.查看创建单个数据库---SHOW CREAT DATABASE 数据库名
      • 修改数据库

        • 修改字符集:ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集
      • 删除数据库

        • DROP DATABASE 数据库名
      • 使用数据库

        • 查看正在使用数据库

          • SELECT DATABASE()
        • 使用/切换数据库

          • USE 数据库名
    • 操作表

      • 创建表

        • CREATE TABLE 表名 (字段名1 字段类型1,字段名2 字段类型2)

          • 字段类型

        • 快速创建一个结构相同的表 --- CREATE TABLE 新表名 LIKE 旧表名

      • 查看表

        • 查看所有表----SHOW TABLES
        • 查看某个表内 ---- DESC 表名
        • 查看建表语句---SHOW CREATE TABLE 表名
      • 删除表

        • DROP TABLE 表名
        • 判断表是否存在删除表 ---DRAP TABLE IF EXISTS 表名
      • 修改表

        • 添加列表

          • ALTER TABLE 表名 ADD 列名 类型;
        • 修改列表类型

          • ALTER TABLE 表名 MODIFY 列名 修改新的类型
        • 修改表名

          • RENAME 表名 TO 新表名
        • 删除列

          • ALTER TABLE 表名 DROP 列名
        • 修改字符集

          • ALETER TABLE 表名 CHARACTER SET 字符集

DML

  • 对表里的数据进行增删改查 insert delete update

    • 插入记录

      • INSER INTO 表名 (字段名1,字段名2,字段名3) VALUES (值1,值2,值3 )

      • 蠕虫复制

        • INSERT INTO 表名1 SELECT * FROM 被复制表名2

        • 部分复制---- INSERT INTO 表名1 (字段1, 字段2,字段3) SELECT 字段1 字段2 字段3 FROM 被复制表名2

    • 修改更新表的记录

      • 不带条件修改数据

        • UPDATA 表名 SET 字段名= 值
      • 带条件的修改

        • UPDATE 表名 SET 字段名= 值 WHERE 字段名 = 值
    • 删除表的记录

      • 不带条件删除

        • DELETE FROM 表名
      • 带条件的删除

        • DELETE FROM 表名 WHERE 字段名 = 值
      • TRUNCATE TABLE 表名

DQL

  • 对数据表进行各种维度的select查询

    • 查看插入内容

      • SELECT * FROM 表名

      • 查看指定内容---select 字段名1,字段名2 FROM 表名

      • 别名查看 ----SELECT 字段名1 AS 别名,字段名2 AS 别名 FROM 表名

        • AS 可以省略
    • 查询清除重复值

      • SELECT DISTINCT 字段名 FROM 表名
    • 查询结果参与运算

      • 某列数值与固定值运算

        • SELECT 列名1 + 固定值 FROM 表名;
      • 某列数值与其他类数数值运算

        • SELECT 列名1 + 列名2 FROM 表名

          • 参与类型必须为数值
    • where

      • 比较运算符

        • <> ,!= 不等于

        • 大于

          • SELECT * FROM hero WHERE attack > 300;
        • <小于

        • AND,OR,NOT

        • IN()

          • SELECT * FROM hero WHERE id IN(1,3,5);
      • 模糊查询---LIKE

        • SELECT * FROM 表名 WHERE 字段名 LIKE '通配符字符串'

        • MYSQL 通配符有两个

          • %:0和或多个任意字符
          • _: 一个字符
      • 排序查询 ORDER BY

        • SELECT 字段名 FROM 表名 WHERE 字段= 值 OREDR BY 字段名 [ASC| DESC],字段名 [ASC|DESC]
        • ASC:升序 DESC:降序
      • 聚合函数查询

        • 会忽略空值

        • 五个常见聚合函数

          • count

            • 所有记录数 ---为NULL的不统计
          • sum

            • 数据数值之和--如果不为数值 和为0
          • max

          • min

          • avg

            • 如果不是数值类型 值为0
        • SELECT COUNT(*) FROM 表名

      • 分组查询

        • SELECT 字段1,字段2 FROM 表名 GROUP BY 分组字段 [HAVING 条件]

          • having是将分组后的数据进行过滤
          • having 后可以使用聚合函数
        • 列子---- SELECT SUM(life),sex FROM hero GROUP BY sex;

      • LIMIT 语句限制

        • LIMIT OFFEST,LENGTH; 或者 LIMIT LENGTH;

        • OFFSET 指的是偏移量,跳过的记录数,默认为0

        • LENGTH 需要展示的记录数

DCL

  • 定义访问权限和安全级别 --关键字 GRANT REVOKE

数据库约束

主键约束

唯一约束

非空约束

约束种类

  • PRIMARY KEY :主键

    • 不应用业务字段作为主键

    • 主键自增 PRIMATY KEY AUTO_INCREMENT

    • 修改起始值

  • UNIQUE: 唯一

  • NUT NULL: 非空

  • DEFAULT :默认

  • FOREIGN KEY :外键

所有者权益

部分小知识

启动

  • .以管理员身份运行cmd打开dos窗口,输出net start mysql80

登录

  • mysql -hip地址 -u用户名 -p密码

数据库管理系统DBMS(DataBase Management System)

  • 操作管理控制系统

SQL语句(Structure Query language)

  • 结构化查询语句

  • 操纵数据库中的数据库,表,数据

  • sql语句分类

    • DDL(Data Define Language) ----数据定义语言
    • DML(Data Manipulation Language) 数据操作语言
    • DQL(Data Query Language) ---数据查询语言
    • DCL(Date Control Language) ---数据控制 语言
  • SQL通用语法

    • 以分号结尾

    • 不区分大小写,建议关键字大写

posted @ 2021-01-14 16:52  咱这个需求做不了  阅读(81)  评论(0编辑  收藏  举报