- 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(Data Definition 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 列名
- 添加列
- alter table 表名
- 建库
- 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
- limit
- 无条件查询
- MySQL的介绍
mysql基础
最新推荐文章于 2023-11-03 22:28:05 发布