1、用户 已经存在了employees、employees_read用户,新建一个写用户 mysql> CREATE USER 'employees_write'@'%' IDENTIFIED BY '123' ; Query OK, 0 rows affected (0.00 sec) 2、新建角色 (1)admin角色 mysql> grant all on employees.* to employees_admin; Query OK, 0 rows affected (0.01 sec) (2)
Python有6个序列的内置类型,但最常见的是列表和元组。今天我们就来讲讲列表。
曾就职于阿里巴巴,全程参与阿里数据架构从Oracle迁移到MySQL过程,参与分布式中间件Cobar设计。
Oracle游标变量在函数1传递给函数2 的几种方式总结: 1 使用sys_refcursor在函数out参数中传递 drop table employees; create table employees(employee_id int, salary int, raise int, job_id varchar(16), last_name varchar(16), first_name varchar(16)); insert into employees values (1, 1000, 60, '
MySQL 8.0版本中新增了invisible indexes(不可见索引)特性,索引被invisible后,MySQL优化器就会忽略该索引(无此特性时需要删除索引才能达到相同效果),由此能够验证在该索引被删除的情况下对性能的影响程度。
Percona-Toolkit 源自 Maatkit 和 Aspersa 工具,这两个工具是管理 MySQL 的最有名的工具,但 Maatkit 已经不维护了,全部归并到 Percona-Toolkit。Percona Toolkit 是一组高级的命令行工具,用来管理 MySQL 和系统任务,主要包括以下功能:
回退至Mysql数据库理论与实战 #进阶2:条件查询 语法: select 查询列表-----③ from 表名 ----① where 条件表达式;-----② 条件表达式的写法: 情况一:关系表达式 sql中的关系运算符:> < >= <= = <> != 情况二:逻辑表达式 sql中的逻辑运算符: and、 or、 not【官方标准】 && || ! 情况三:模糊查询 ★ like、between and、in、is null
https://docs.oracle.com/cd/E11882_01/appdev.112/e25519/static.htm#LNPLS598
在数字化转型的大潮中,数据库作为数据存储的核心,扮演着至关重要的角色。DM达梦数据库,作为一款高性能、高安全性的国产数据库产品,凭借其卓越的性能和丰富的功能,赢得了广泛的市场认可。本文旨在深入解析DM达梦数据库的基础语法,包括数据定义语言(DDL)、数据操作语言(DML)、数据控制语言(DCL)以及SQL查询语言,通过具体案例,让读者能够更直观地理解和掌握。
------- | ------------------ | -------------------- | | 分组前筛选 | 原始表 | group by前 where | | 分组后筛选 | group by后的结果集 | group by后 having |
SELECT字段的别名练习(答案) 编写一个SQL语句,输出下面的结果 mysql> select empno 员工号,salary 月薪, salary*14 14薪 from employees; +-----------+----------+-----------+ | 员工号 | 月薪 | 14薪 | +-----------+----------+-----------+ | 1 | 20000.00 | 280000.00 | |
小强前几篇文章介绍了mysql的索引原理以及sql优化的一些小技巧。mysql底层的算法选择哪种索引,有时候会和我们想象的不一样,大家可以继续往下看。
概念:出现在其他语句内部的select语句,称为子查询或内查询 其他语法:可以是select语句,也可以是create、insert、update等。只是select语句出现的较多 外面如果是select语句,称为主查询或外查询 位置: 子查询可以放在select语句中的select后面、from后面、where或having后面、exists后面 分类:(放在where或having后面) 单行子查询:子查询的结果只有一行 多行子查询:子查询的结果可以有多行 特点: ①子查询一般需要使用小括号括起来,为了提高阅读性 ②子查询一般放在条件的右侧 ③子查询优先于主查询执行,主查询使用到了子查询的结果 ④单行子查询一般搭配单行操作符使用 单行操作符:> < = <> >= <= 多行子查询一般搭配多行操作符使用 多行操作符:in/not in、any、all
本文主要描述如何使用Sentry实现数据的脱敏(masking of sensitive data elements),高大上的叫法也就是Data Masking。数据脱敏主要是指将原始数据的全部或者部分敏感值进行替换。这样避免了用户未经授权而直接访问原始的值,并保留了底层数据的schema。
有一个员工employees表简况如下: [0BFB4D140D9C3E92AF681D9F9CB92D55] 请你查找employees里最晚入职员工的所有信息,以上例子输出如下: [D2ABA1E2F5834850B16146F168AC5476] 对应SQL语句: DDL drop table if exists `employees` ; CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_date` date NOT NUL
结果:请你查找employees里入职员工时间排名倒数第三的员工所有信息,以上例子输出如下:
3.子查询(难): 当进行查询的时候,发现需要的数据信息不明确,需要先通过另一个查询得到, 此查询称为子查询; 执行顺序:先执行子查询得到结果以后返回给主查询 组成部分: 1).主查询部分 2).子查询部分 【注意事项】: 子查询一定需要被定义/包裹在小括号内部,可以认为是显示的提升了代码执行的优先级 需求1: 查询薪资比Abel的高的有谁? 分析: ①.先查询出Abel的薪资是多少? ②.将过滤条件定义为>①,然后进行查询得到最终需要的结果 代码实现: select last_name,salary from employees where salary > ( select salary from employees where last_name = 'Abel' ); 需求2: 查询job_id与141号员工相同,salary比143号员工多的员工的姓名,job_id和salary? 代码实现: select last_name,job_id,salary from employees where job_id = ( select job_id from employees where employee_id = 141 ) and salary > ( select salary from employees where employee_id = 143 ); 课堂练习: 1).返回公司工资最少的员工的employee_id,job_id和salary select employee_id,job_id,salary from employees where salary = ( select min(salary) from employees ); 2).查询平均工资高于公司平均工资的部门有哪些 select department_id,avg(salary) from employees group by department_id having avg(salary) > ( select avg(salary) from employees ) order by department_id desc; 3).查询最低工资大于20号部门最低工资的部门id和最低工资 select department_id,min(salary) from employees where department_id is not null group by department_id having min(salary) > ( select min(salary) from employees having department_id = 20 ); 4).返回其它职位中比job_id为'IT_PROG'中最低工资低的员工的员工号,姓名,job_id以及salary select employee_id,last_name,job_id,salary from employees where salary < ( select min(salary) from employees where job_id = 'IT_PROG' ); 4.多表查询/多表联查 概念: 使用场景,如果一条select语句中需要查询的列遍布多张数据表, 那么我们就必须使用多表查询了!! 分类: 等值连接和非等值连接 对于等值连接分方向: 1).内连接:返回多张表中共同满足的数据,取交集 2).外连接(左、右、满):返回内连接数据的同时还会继续返回某张表中不匹配的一些记录数 3).自连接:从始至终都是一张表,模拟一张表派生为两张(它们的结构式一模一样的),自己连自己 等值连接中的内连接: 需求: 查询所有员工的员工号、员工姓名以及部门的名字? select employee_id,last_name,department_name from employees,departments; 【注意】 以上查询得到了2889条记录,很多都是没有用的数据(脏数据), 出现的原因是:没有添加有效的连接条件导致的, 而这种现象我们称为笛卡尔集现象; 我们日后的学习和开发环境中是绝对要避免的!! 如何保证我们之后的多表查询绝对不会出现笛卡尔集现象? 1).不能不写连接条件 2).连接条件必须是有效的 思考:如何修改上述的代码? 代码实现如下: select employee_id,last_name,department_name from employees,departments where employees.department_id = depart
DQL查询语言 DQL基础查询语句–SELECT # DQL基础查询语句 /* 语法: SELECT 查询列表 FROM 表名; FROM可省 特点: 1. 查询列表可以是:表中的字段,常量,表达式,函数 2. 查询的结果是一个虚拟表格 */ # 选中指定库 USE myemployees; # 查询表中的单个字段 SELECT last_name FROM employees; # 查询表中的多个字段,中间用逗号隔开,对顺序无要求 SELECT last_name,first_name,e
请你查找employees里入职员工时间排名倒数第三的员工所有信息,以上例子输出如下:
前几篇文章介绍了mysql的底层数据结构和mysql优化的神器explain。 BAT大厂都会问的MySQL底层数据结构 一线互联网公司必问的MySql优化神器 后台有些朋友说小强只介绍概念,平时使用还是一脸懵,强烈要求小强来一篇实战sql优化,经过周末两天的整理和总结,sql优化实战新鲜出炉, 大家平时学习和工作中,遇到的99% 的sql优化都会介绍到,介于篇幅过长,分成3篇文章哈。
博客地址:https://ask.hellobi.com/blog/zhiji 欢迎大家来交流学习。
有一个员工employees表简况如下: 0BFB4D140D9C3E92AF681D9F9CB92D55 请你查找employees里最晚入职员工的所有信息,以上例子输出如下: D2ABA1E2F5834850B16146F168AC5476 对应SQL语句: DDL drop table if exists `employees` ; CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_date` date NOT NUL
查询员⼯编号最⼩并且⼯资最⾼的员⼯信息,3种⽅式。/*查询员⼯编号最⼩并且⼯资最⾼的员⼯信息*/
//2. 打印公司里所有的manager_id select manager_id from employees
浏览器中打开链接:http://www.itsoku.com/article/209
回退至Mysql数据库理论与实战 #进阶一:基础查询 语法: select 查询列表 from 表名; 特点: 1、查询的结果集是一个虚拟表,并没有真实存在 2、查询列表支持常量、字段(列)、表达式、方法(函数)等 类似于 System.out.println(一个值); 补充: 1、去重 2、起别名 3、常见的函数 database() version() user() ifnull() concat()
既然索引可以加快查询速度,那么是不是只要是查询语句需要,就建上索引?答案是否定的。因为索引虽然加快了查询速度,但索引也是有代价的:索引文件本身要消耗存储空间,同时索引会加重插入、删除和修改记录时的负担,另外,MySQL在运行时也要消耗资源维护索引,因此索引并不是越多越好。一般两种情况下不建议建索引。
key_len : 显示了mysql在索引里使用的字节数,通过这个值可以算出具体使用了索引中的哪些列。
子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从 MySQL 4.1 开始引入。
本文以 employees 表为例子,结合具体的索引运用实践案例,通过分析 EXPLAIN 关键字获取执行计划,来验证我们这些索引实践。如果是执行计划相关的详细信息,大家可以参考 mysql 官网 explain 介绍。
返回jobid与141号员⼯相同,salary⽐143号员⼯多的员⼯、姓名、jobid和⼯资
可以先看下这篇理论介绍: MySQL|索引背后 01 MySQL的几种KEY PRIMARY KEY 有两个作用,一是约束作用(constraint),用来规范一个存储主键和唯一性,但同时也在此key上建立了一个主键索引;每个表都应该有一个主键,并且每个表只能有一个主键。 UNIQUE KEY 与 PRIMARY KEY相似,只不过每个表可以有多个主键。 FOREIGN KEY 也是在这个key上建立一个index ,如下所示: FOREIGN KEY(emp_no) REFERENCES e
今天试验表空间传输,从一个库PROD 传输表空间到repos 假定表employees 在tbs4表空间里 SQL> select table_name,tablespace_name from user_tables where tablespace_name='TBS4'; TABLE_NAME TABLESPACE_NAME ------------------------------ ------------------------------ EMPLOYE
如果使用的 M 系列的 Mac 本的同学,需要找下支持 linux/arm64/v8 的版本。
子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入。
B站上热播的SQL教程练习和答案,零基础学通4种数据库SQL语言(MySQL、Oracle、SQL Server和PostgreSQL)。 ”
项目资源的URL应该如何设计?用名词复数还是用名词单数?一个资源需要多少个URL?用哪种HTTP方法来创建一个新的资源?可选参数应该放在哪里?那些不涉及资源操作的URL呢?实现分页和版本控制的最好方法是什么?因为有太多的疑问,设计RESTful API变得很棘手。在这篇文章中,我们来看一下RESTful API设计,并给出一个最佳实践方案。
本人转载:http://www.cnblogs.com/chenxizhang/archive/2009/04/26/1444016.html
前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个
本文实例讲述了python针对Oracle常见查询操作。分享给大家供大家参考,具体如下:
概念:类似于java的方法,将一组逻辑语句封装在方法体中,对外暴露方法名 好处:1、隐藏了实现细节 2、提高代码的重用性 调用:
有的时候,明明某个字段有索引,那我们一般认为走索引好一些,结果mysql走了全表扫描 , 那怎么看mysql是怎么选择的呢? 来 今天来看一看MySQL是如何循着合适的执行计划的?
(1)在安装MySQL数据库软件时,我们已经设置了禁止root远程登录 参见,https://blog.csdn.net/chengyuqiang/article/details/121282247 (2)root用户只能在服务器端访问
day01回顾: 数据库: 定义:存储数据的仓库(database,简称db) 常用的数据库对象有哪些? 1).数据表(table) ***** 2).视图(view) 3).索引(index) 4).序列(sequence) 主流的关系型数据库有哪些?(枚举) oracle、mysql、sqlserver、db2... 谈一谈oracle和mysql的区别? oracle: 1).收费的(贵) 2).数据的存储量大,安全性高、效率比较快 mysql: 1).免费 2).数据的存储量小(相对而言的),安全系数以及效率方面较低(相对而言的) sql:structure query language(结构化查询语言) 分类: DDL:结构层面的操作,自动提交,无法回滚 比较强硬 包括的常用的操作如下: 建表、删表、修改表、清空表 --> 总结:结构发生变化了,都是ddl操作 建表的格式: create table 表名( 列名1 数据类型(长度), 列名2 数据类型(长度), ... 列名n 数据类型(长度) ); 建完表格之后我们可以使用desc关键字去查看表结构, desc关键字的使用如下: desc 表名; DML:数据层面的操作:不会自动提交,可以回滚比较柔和 包括的常用的操作如下: 增加数据(insert into ...) 删除数据(delete from 表名 where ...) 修改数据(update 表名 set 列名1 = 值1,列名2 = 值2,... where ...) 查询数据(select ... from 表名) 总结: 对于删除和修改数据而言,一般情况下都需要配合where子句进行相应的操作,否则会出现全删或者全改的问题!! DCL: 两个关键字:commit(提交)、rollback(回滚) day02(上午): 出题思考如何实现? 1).查询公司员工的编号,姓名,薪资,奖金率以及月收入? 以下代码有问题:因为有null值参与了算数运算,导致结果直接为null了,出现了与现实不符的情况!! select employee_id,last_name,salary,commission_pct,salary + salary * commission_pct from employees; 使用去空置换函数:nvl(m,n): 执行过程如下: 如果m得到的内容不为null,那么就拿它本身参与运算 如果m得到的内容为null,那么就用n的值参与运算 重构以上代码: select employee_id,last_name,salary,commission_pct,salary + salary * nvl(commission_pct,0) from employees; sql中的别名: 概念:使用别名的思想,可以让显示变得更加的优雅、简洁!并且可以优化我们的代码... 起别名有三种方式: 方式一: select employee_id,last_name,salary,commission_pct,salary + salary * nvl(commission_pct,0) as month_sal from employees; 方式二: select employee_id,last_name,salary,commission_pct,salary + salary * nvl(commission_pct,0) month_sal from employees; 方式三: select employee_id,last_name,salary,commission_pct,salary + salary * nvl(commission_pct,0) "month_sal" from employees; 比较理解以上的三种方式: 方式二可以认为是方式一的简化版,它们定义的别名在查询显示的时候,都是以全大写来进行显示 如果想要控制显示的大小写(效果),我们可以使用方式三来完成;我们可以认为方式三才是最实用的方式 where子句: 在查询数据的时候,很多情况下我们需要过滤掉一些不需要的内容,所以需要用到where子句来实现 记住: where紧随from 运算符: 分类: 1).比较运算符: 范围: >大于 >=大于等于 <小于 <=小于等于 =等于 <>不等于(还可以这么写:!=) 案例阶段: ①.查询员工号为200的员工的姓名、薪资和入职时间? select last_name,salary,hire_date from employees where employee_id = 200; ②.查询工资大于80
mysql中变量不用事前申明,在用的时候直接用“@变量名”。 第一种用法:set @num=1; 或set @num:=1; 第二种用法:select @num:=1; 也可以把字段的值赋值给变量 select @num:=字段名 from 表名 where …… 注意上面两种赋值符号,使用set时可以用 = 或 := ,但是使用select时必须用 :=
指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入。
.dataframe tbody tr th:only-of-type { vertical-align: middle; } .dataframe tbody tr th { vertical-align: top; } .dataframe thead th { text-align: right; }
.dataframe tbody tr th { vertical-align: top; } .dataframe thead th { text-align: right; }
原文出处:RESTful API Design. Best Practices in a Nutshell. 原文:RESTful API Design. Best Practices in a Nutshell. 作者:Philipp Hauer 项目资源的URL应该如何设计?用名词复数还是用名词单数?一个资源需要多少个URL?用哪种HTTP方法来创建一个新的资源?可选参数应该放在哪里?哪些不涉及资源操作的URL呢?实现分页和版本控制的最好方法是什么?因为有太多的疑问,设计RES
领取专属 10元无门槛券
手把手带您无忧上云