MySQL
MySQL基础语法
龙技术
一篇诗,一斗酒,一曲长歌,一剑天涯
展开
-
mysql高级(case when):
case when(自定义分组):SELECT first_name, last_name, hire_date, CASE WHEN hire_date > '2014-01-01' THEN 'junior' WHEN hire_date > '2013-01-01' THEN 'middle' WHEN hire_date <= '2013-01-01' THEN 'senior' END AS experienceFROM emplo原创 2021-08-26 20:48:03 · 179 阅读 · 0 评论 -
窗口函数避坑指南
窗口函数避坑指南:窗口函数执行顺序:FROMWHEREGROUP BY聚合函数HAVING窗口函数SELECTDISTINCTUNIONORDER BYOFFSETLIMIT不能在WHERE子句中使用窗口函数:错误版本演示:SELECT id, final_price FROM auction WHERE final_price > AVG(final_price) OVER();报错信息:SELECT id, final_pric原创 2021-08-24 18:57:10 · 2918 阅读 · 0 评论 -
PARTITION BY ORDER BY组合使用
在with语句中使用PARTITION BY order byWITH ranking AS ( SELECT country, city, RANK() OVER(PARTITION BY country ORDER BY rating DESC) AS `rank` FROM store)SELECT country, cityFROM rankingWHERE `rank` = 1;PARTITION BY ORDER BY 和 window原创 2021-08-24 18:55:52 · 2374 阅读 · 0 评论 -
window frames自定义函数
window frames自定义窗口:基本语法:select id,count(id)over(order by id rows between upper_bound and lower_bound)from table;例如:SELECT id, total_price, SUM(total_price) OVER( ORDER BY placed ROWS UNBOUNDED PRECEDING) as `sum`FROM single_order在betw原创 2021-08-23 19:45:59 · 433 阅读 · 0 评论 -
mysql窗口函数(over()、排序函数、with语句)
窗口函数:seleect 聚合函数 over(partition by_______ order by ________)from table;基本语法:<window_function>over(…)优点:简单窗口函数更易于使用。在上面的示例中,与使用聚合函数然后合并结果相比,使用窗口函数仅需要多一行就可以获得所需要的结果。快速这一点与上一点相关,使用窗口函数比使用替代方法要快得多。当你处理成百上千个千兆字节的数据时,这非常有用。多功能性最重要的是,窗口函数具原创 2021-08-21 19:48:43 · 1034 阅读 · 0 评论 -
数据库简介和SQL语句的种类
数据库概述数据库就是存储数据的仓库,程序员可以在数据库中进行数据的增删改查操作数据库分为关系型数据库和菲关系型数据库关系型数据库:采用二维表格模型创建的数据库,适用于储存逻辑复杂的大型数据Oracle, mysql,sqlite,sqlsever,db2非关系型数据库:大多采用key-value结构存储数据,适用于结构简单,数据量大或需要快速存取的数据Redis, hbase,mongodbMySQL数据库的登录和退出mysql数据库是一个关系型数据库管理系统mysql优原创 2021-08-17 20:28:02 · 153 阅读 · 0 评论 -
mysql数据表查询
简单查询格式:select 字段名 from 表名字段名可以指定一个,也可以指定多个,使用*代表查询所有字段表名必须存在select后边可以对指定字段进行数学运算# 准备商品表CREATE TABLE product( pid INT PRIMARY KEY, pname VARCHAR(20), price DOUBLE, category_id VARCHAR(32));# 查询product表结构DES原创 2021-08-13 20:04:03 · 219 阅读 · 0 评论 -
mysql约束
主键约束主键的添加:在创建时添加create table 表名( 字段名 字段类型 primary key, 字段名 字段类型。。。。。);在创建表之后,再添加alter table 表名 add primary key(主键字段);主键的删除alter table 表名 drop primary key;注意事项:主键时非空的:不能为空主键是唯一的:不能重复主键被删除之后,该字段依然是非空的,不能传入null或者不赋值# 查询当前使原创 2021-08-13 20:02:05 · 68 阅读 · 0 评论 -
mysql数据表的插入、更新和删除以及字段的相关操作
字段的相关操作字段的增加:alter table 表名 add 新字段名 数据类型 (约束);字段的修改:alter table 表名 change 旧字段名 新字段名 数据类型 (约束);字段的删除:alter table 表名 drop 字段名称;表名的修改:rename table 旧表名 to 新表名;# use数据库USE bigdata_db;# 对数据表的结构进行查询DESC category;# 增加一个字段,字段名称为desc原创 2021-08-13 20:00:55 · 392 阅读 · 0 评论 -
mysql数据表的创建、删除和查看
数据表的创建create table 表名(字段名 类型 约束, 字段名2 类型 约束 。。。。。。);在创建表时,最少有一个字段,不然无法创建删除数据表drop table 表名;查看表show tables; 查看当前数据库中所有表的名称列表。desc 表名;查看指定表的表结构。# 要创建数据表之前一定要使用一个数据库(USE)USE bigdata_db;# 创建数据表/*格式:create table 表名( 字段名1 类型 (约束.原创 2021-08-13 19:59:10 · 111 阅读 · 0 评论 -
mysal 数据库的创建和使用、删除
2、数据库的创建创建数据库create database 数据库名称create database if not exists 数据库名称在创建数据库时可以指定字符集,一般指定字符集可以防止中文乱码。# 创建数据库CREATE DATABASE BigData_DB;# 如果当前数据库不存在则创建,如果存在,则什么也不做CREATE DATABASE IF NOT EXISTS BigData_DB;# ctrl + d 可以进行整行复制# 在linux中mysql 的数据库原创 2021-08-13 19:09:57 · 598 阅读 · 0 评论 -
Mysql通用数据类型
整型:tinyint (-128—127)smallint(-65536-----65535)int(-21亿----21亿)bigint(-2等64次方 ----- 2的64次方-1)浮点型:float 单精度浮点型double 双精度浮点型decimal 精确控制数字及小数位数量 decimal(10, 2)一共有10个数位,2个小数位,如果源数据多余该小数位数,会自动四舍五入日期类型:date:日期类型 YYYY-MM-DDdatetime:日期时间类型.原创 2021-08-13 18:30:48 · 152 阅读 · 0 评论 -
mysql开窗函数
Mysql开窗函数row_number():不管排名是否有相同的,都按照顺序1,2,3…n;select *,row_number() over(partition by 分组的字段 order by 排序的字段 desc ) as 新字段别名 from 表名;#partition by 排序rank():排名相同名次一样,同一排名有几个,后面排名就会跳过几次;select *,rank() over(partition by 分组的字段 order by 排序的字段 desc ) as 新字段别原创 2021-08-03 21:13:02 · 152 阅读 · 0 评论 -
Mysql索引
创建普通索引:方式一:(直接创建)格式:create index 索引名 on 表名(列名)方式二:(修改表结构)格式:alter table 表名 add index 索引名(列名)方式三:(创建表时创建)格式:create table 表名(id not null,username varchar(20) not null,index 索引名 (列名))查看索引:查看表中所有索引:show index from 表名;查看数据库所有索引:select * fr原创 2021-08-03 20:48:42 · 56 阅读 · 0 评论