mysql基础

  • MySQL
    • MySQL的介绍
      • 概念:存储和管理数据的仓库 Database简称DB
      • 优点
        • 永久保存
        • 通过SQL语句比较方便的操作数据库
      • 应用场景
        • 对大量数据进行存储和管理
      • 常见数据库
        • MySQL
        • Oracle
        • SQL Server
      • 数据库、表、数据的关系
        • MySQL服务器中可以创建多个数据库
        • 每个数据库中可以包含多张表
        • 每个表中可以存储多条数据记录
        • 客户端通过数据库管理系统来操作MySQL数据库
      • 关系型数据库
        • 概念:是由多张能互相连接的二维表组成的数据库
      • SQL介绍(Structured Query Language)结构化查询语言
        • 概念:一门操作关系型数据库的编程语言
        • 通用语法规则
          • 1.SQL 语句可以单行或者多行书写,以分号结尾
          • 2.MySQL 数据库的SQL语句不区分大小写,关键字建议使用大写
          • 3.单行注释:-- 注释内容 #注释内容(MySQL特有)
          • 4.多行注释:/* 注释内容 */
        • 四种分类
          • DDL(Data Definition Language)数据定义语言
            • 用于建库建表
          • DML(Data Manipulation Language)数据操作语言
            • 对数据增删改操作
          • DQL(Data Query Language)数据查询语言
            • 用于数据查询操作
          • DCL(Data Control Language)数据操控语言
            • 对用户权限进行管理
    • DDL建库建表语句
      • 建库
        • 1.创建数据库:create database 数据库名
        • 2.删除数据库:drop database 数据库名
        • 3.选择数据库:use 数据库名
      • 建表
        • create table 表名(字段名 数据类型);
        • 数据类型
          • int
          • decimal(长度,小数位数)
          • date
          • varchar(长度)
          • char(长度)
      • 查表结构
        • desc 表名
      • 删表
        • drop table 表名
      • 修改表结构
        • alter table 表名
          • 添加列
            • add 列名 类型
          • 修改表名
            • rename to 新表名
          • 修改类型
            • modify 列名 类型
          • 改字段名和类型
            • change 列名 新列名 类型
          • 删除列
            • drop 列名
    • DML增删改数据语句
      • 增加数据
        • insert into 表名 (列名)values(值)
        • 增加一整列,可以省略列名
      • 删除数据
        • delete from 表名 where 条件
        • 不写条件的时候,删除表里面所有的数据
      • 修改数据
        • update 表名 set 列名=值 where 更新条件
    • DQL查询数据语句
      • 无条件查询
        • 语法:select 列名 from 表名
        • 1.如果查看所有字段,*代表所有列,列就是字段
          • select * from 表名;
        • 2.如果列名要定义别名使用AS,AS可以省略
          • SELECT 字段名1 AS 别名1, 字段名2 AS 别名2 FROM 表名;
        • 3.如果去掉重复列使用DISTINCT
          • SELECT DISTINCT 字段名1 FROM 表名;
        • 4.计算列的值
          • SELECT 字段名1 (+ - * /) 字段名2 FROM 表名;
        • 5.四舍五入保留n位函数:ROUND(列名,位数)
          • select*, ROUND ( price*0.8 , 2 ) AS 八折 from 表名
      • 条件查询
        • 语法:select 列名 from 表名 where 条件
        • 比较运算符
          • = 等于(不是==)
          • 或 != 不等于
        • 逻辑运算符
          • AND 或 && 并且
          • OR 或 || 或
          • NOT 或 ! 非
        • IN(值1,值2....)
          • 查询这些值中任何一个都可以
        • between 值1 and 值2
          • 查询值1到值2这个范围的数据,包头包尾,值1<值2
        • 注意事项
          • 1.查询商品名称是null的商品,不能写成=null,查不到结果,并且不会报错,需要使用 is null,is not null
      • 模糊查询
        • 语法:select * from 表名 where 列名 like ' 通配符字符串 '
        • 通配符
          • %: 表示任意多个字符
          • _: 表示一个字符
      • 排序查询
        • 语法: order by默认升序
        • 升序:asc
        • 降序:desc
      • 聚合函数查询
        • 概念:纵向查询,对一列的值进行计算,然后返回一个结果值
        • 语法:select 聚合函数 (列名) from 表名
        • 五个聚合函数
          • COUNT 统计行数
          • SUN
            • 求和
          • MAX
            • 最大值
          • MIN
            • 最小值
          • AVG
            • 平均值
        • 注意
          • where 后面不能使用聚合函数
      • 分组查询
        • 语法:group by 列名 having 过滤条件
        • 默认是显示每一组的第一行注:后面6.0以后的版本中select前面只能出现分组的列
        • where 和 having区别
          • 1.位置不同:where 放在from的后面,having放在group by的后面
          • 2.where后面不能使用聚合函数,having后面可以
          • 3.where是先去掉一些数据,再分组,having是先分组,再过滤数据【where在group by前面,having在group by 后面】
      • 分页查询
        • limit
          • 作用:获取部分查询的数据
          • 格式:SELECT * FROM 表名 LIMIT offset, length;
            • offset是指偏移量,可以认为是跳过的记录数量,不写则默认为0
            • length是指需要显示的总记录数
            • 计算公式:起始值 = (当前页码-1)*每页显示的条数
          • 7个关键字的先后顺序
            • select
            • from
            • where
            • group by
            • having
            • order by
            • limit
          • Tips:分页查询 limit 是MySQL数据库的方言Oracle 分页查询使用 rownumberSQL Server分页查询使用 top
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值