| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 3万字mysql一篇过(有图,有案例) -> 正文阅读 |
|
[大数据]3万字mysql一篇过(有图,有案例) |
文章目录
sql语句分类DDL 数据定义语句 create 表库 Mysql的三层数据结构DBMS数据库管理系统 增删简单案例创建数据库1、character set:指定数据库采用的字符集 如果不指定字符集 默认时utf-8 创建一个名称为db01的数据库创建一个使用utf8字符集db02的数据库创建一个使用utf8字符集 并带校对规则db03 数据库
*的表示含义*代表所有的字段 查看删除数据库显示数据库语句 显示数据库创建语句show create database db_name; 删除数据库语句drop database if exists db_name 为了规避关键字 我们用反引号 解决create table_name 备份恢复数据库mysqldump -u 用户名 -p -B 数据库01 数据库2 数据库4 > 文件名.sql 恢复数据库Source 文件名.sql 创建表create table table_name(
mysql列类型就是mysql数据类型
数据类型bit 的使用1、基本使用 数值型小数的基本使用1、 FLOAT/double[unsigned]Float 单精度 double 双精度 2、deimal【M,D】可以支持更加精确的小数 M是小数位数的总数 D是小数点后面的标数 添加数据:
字符串的基本使用
最多使用 255个字符 新版本 对数据进行无限制扩大 字符串使用的细节
当四个字符使用加入5个字符时 会在 4个字符时进行截取
日期类型的基本使用stamp 时间戳的意思 例题、创建一个表使用适当的数据类型从创建一个员工表 empid整形 name 字符型 sex 字符型 birthday 日期型 (date) entry_time 日期型(date) job字符型 修改***敲黑板 (重点)1、使用alter table 语句进行追加修改 或者删除列操作 修改上·emp·中的操作
插入 数据 insert
细节注意:1、插入的数据与字段的数据类型相同
2、数据的长度应该在列出的规定范围之内 不能将一个长度为80的字符串加入到长度为40的列中 3、在values中列出的数据位置必须与被加入的列的排列位置相对应 更改 update
使用细节1、update语法可以用新值更新原有的表行中各列 delete语句使用delete语句删除表中的数据 依旧使用goods表快速入门
查询 select 敲黑边重点创建表 查出的完全相同会 进行distinct 进行去重 column 指定列 * 代表查询的列
select *【Colum】 expression,cloum expression from table name;
查询学生是马云的同学
按照数学成绩进行升序排列 count函数统计班级里面的数据
合计函数sumsum函数返回满足where 条件的行和 一般使用在数值列 统计一个班的 总成绩 Avg合计函数数学的平均分 使用max 和min的使用group by子句 对列进行分组使用 group by 子句 对列进行分组select col1,col2,col3 from table group by col
查看历史命令的方法前期工作都已就绪 下面有我给大家解说按照部分来进行分组查询
2、显示平均工资低于2000部门号的他的平均工资 (比较复杂但是可以逐个击破)
字符串函数
字符串的字符集 charset字符串连接 将多列拼接在一块 concat 【string2 【,】】字符串的某个字符在字符串中的位置字符串的-ucase 转换成大写字符串的lcase 转换成小写字符串的left 从左边起取几个字符字符串的length 字符串的长度字符串的replace 将第几个字符串转换成 几个字符串字符串的strcmp 逐字符串比较大小字符串的substring(str,postition,[,length]) 从str的position开始比较字符串的ltrim (string2) rtrimstring trim 除去前端空格或后端空格数学相关函数标题abs() 绝对值将十进制转换成二进制 bin(decimal number)celling就近的整数conv(number2,from base,to base)转换进制 由几进制转换成几进制
floor(number2)向下取整 取得比num2小的最大整数保留小数位数 formatleast 求最小值求余 mod(numerator,denominator) 求余rand(【seed】) 返回随机数 其范围为0《= v《=1.0 如果seed不变 所获得随机数也不变时间日期相关current_date() 当前日期current_time() 当前时间current_timestamp() 当前时间戳date返回datetime的日期部分先创建一个信息表
date_add(date,interval d_value,d_type) 在date2中加上日期或者时间(后加)date_sub(date2,interval d_value d_type) 在date2上减去一个时间(后加)datediff(date1,date2) 两个日期差 结果是天(后加)timediff(date1,date2) 两个时间差 多少小时 多少分钟多少秒(后加)now() 当前时间year|month|date(datetime) from_unixtime() 年月日案例 显示所有的新闻信息 发布的日期只显示日期不显示时间查询在20分钟内发布的新闻加密和系统函数user() 查询用户
database 数据库名称 查询当前是哪个数据库名称md5(str) 为字符串算出一个md5 32的字符串用户密码加密root密码是hsp md5加密 从数据库中存放的是加密后的密码
用户表存放密码 是md5
加密函数password()
流程控制函数查询emp表 如果comm是null 则显示 0.0if(expr,expr2,expr3) 如果expr1 为 true 则返回expr2 否则 返回expr3 如果表是job则是clerk 则显示职员 如果是manager则表示经历 入宫时salesman 则显示销售人员 其他正常显示
mysql表查询增强使用where 子句 查找某某时间段后入职的员工 如何使用like操作符 ?如果显示第三个字符为大写rillen的所有的员工的姓名和工资 分页查询
分页查询公式select * from emp order by empno limit 每页显示记录 第几页到第几页 每页显示记录数 增强group by的使用(1)、显示每种岗位的雇员总数和平均工资 显示管理这的总人数显示最大差额应用 案例统计各个部门group by的平均工资 avg 并且是大于1000的having 并且按照平均工资从高到低进行排序 limit 0 ,2
应用案例
多表查询(多表笛卡尔集)★★★(评论功能)
使用 当两张表中 相同的属性相同的时候才会进行取得 如何解决 #显示各个员工的姓名 工资 以及其 工资级别
自连接 多表查询
管理部门使用 之间使用mysql 需要进行关系的确认
mysql 表子查询子表每次都会生成一个 临时表
eg 子查询演示 如果显示与smith同一部门的所有员工
首先 先查找到 10 号部门有哪些雇员 mysql 表子查询 all操作符
eg. 显示工资比部门30的所有员工的工资高的员工的姓名 工资和部门号 在多行子查询中 使用any 操作符显示工资比部门30的其中任意一个员工的工资高的员工的姓名 工资和部门号 多列子查询
查询与smith 的部门和岗位完全相同的所有雇员并且不含smith本人 (1)先查询smith的部门和岗位 子查询练习
(1)先得到每个部门的 部门号和对应的平均工资
(1)先找到部门工资最高的人
(2)再找出人的全部信息
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 21:49:18- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |