文章目录 1. Day05 1.1. 关联关系 1.1.1. 自关联 1.2. 一对一 1.3. 一对多 1.4. 多对多 1.4.1. 创建表 1.4.2....
,但是虚拟表中的数据会随着原表数据的改变而改变 为什么使用视图: 因为有些数据的查询需要书写大量的sql语句,每次书写比较麻烦,使用视图可起到重用sql语句的作用 可以通过视图隐藏敏感信息,比如隐藏员工工资的字段...总结: 更新和删除都是对视图中已经存在的数据进行操作,如果存在就会直接删除和更新,并且原表中的数据也会同时被删除和更新,但是如果执行更新操作,更新后的条件不符合创建视图时子查询的条件,那么这些数据将不会显示在视图中...加上关键字 if exists 如果存在就删除,不存在也不报错 drop view if exists view_emp_10; 如果创建视图的时候对视图中的字段使用了别名,那么以后对视图的操作只能使用别名来操作...create view view_1 as(select ename name from emp where deptno=10); 这里面的子查询将字段ename起了别名,那么我们在以后操作的时候只能使用别名对这个字段操作...语句的工作单元或者最小单元,写在事务里面的sql要么同时成功,要么同时失败 事务的ACID性质(重要,面试常考) Automicity : 原子性 : 执行的sql语句要么同时成功,要么同时失败 Consistency
权限操作 什么是权限 有哪些权限 用户创建删除 权限管理 什么是权限 限制一个用户能够做什么事情,在MySQL中,可以设置全局权限,指定数据库权限,指定表权限,指定字段权限 有哪些权限 权限 介绍 create
数据查询 查询数据库表的内容(所有行和列) SELECT * FROM <表名>; 示例 📷 计算 SELECT <数学多项式>; 示例 📷 条件查...
语句执行的最小单元 不能分割执行事务内的sql语句,只能是同时执行成功,或者同时执行失败,否则可能出现安全性问题 一个事务中的代码块包含多条sql语句,只有一起执行成功才能成功,只要有一条出现错误都会失败...,因为开启事务的话,每操作的一条语句产生的结果都是存储在内存中的,没有及时更新到数据库中,只有提交之后才能更新到数据库中 关闭自动提交 mysql的自动提交属性自动是开启的,就是每执行一次sql语句就会自动提交...回滚(rollback) 当你之前的操作没有提交的话,那么你使用rollback这个命令,那么就会回滚到初始状态 回滚点(savepoint) 前提是没有设置了自动提交,才能回滚到保存点 savepint...s1(标识); : 设置保存点 回滚到保存点,那么保存点之前的操作都是存在的,一旦提交之后就会执行保存点之前的操作。...数据库定义语言 常见命令: create drop alter truncate 这些命令不支持事务,就是没有提交也会生效 数据操纵语言 DML Data Manipulation Language :数据操作语言
文章目录 1. Day03 1.1. 查询null 1.2. 别名 1.3. 去除重复的值(distinct) 1.4. where 1.5. and 和 o...
操作数据库中的表无非也是4种方式。增删改查(CRUD)。 1.查询 查询当前数据库中所有的表:SHOW TABLES; ? 这张表是MySQL数据库中默认的名为mysql的数据库所含有的表。...——参考文章 SQL 用于各种数据库的数据类型
什么是SQL SQL常用数据类型 SQL功能分类 DDL DML DQL 什么是SQL SQL是Structured Quevy Language(结构化查询语言)的缩写。...SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。 在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。...SQL功能分类 DDL:数据定义语言 用来定义数据库对象:创建库,表,列等。...DML:数据操作语言 用来操作数据库表中的记录 DQL:数据查询语言 用来查询数据 DCL:数据控制语言 用来定义访问权限和安全级别 DDL 创建数据库 create database 数据库名...,(列值1,列值2...); 更新操作 UPDATE 表名 SET 列名1=列值1,列名2=列值2 ...
from emp group by job; 每年的入职人数 其中hiredate的格式是2015-01-02(%Y-%m-%d),因此这里需要用到日期截取的函数extract(),具体使用参看SQL...操作三 select extract(year from hiredate) year,count(*) from emp group by y; having子句 聚合函数不可以对where结合使用...=3000 order by c desc,avg asc; 子查询 Mysql子查询 子查询 : 嵌套到sql语句里面的查询sql语句称为”子查询” 子查询中返回的字段一定要和查询的判断条件字段类型一致...```sql select * from dept where deptno=(select deptno from emp group by deptno order by avg(sal) desc...,查询出来的两张表的乘积 查看每个员工的名字以及所在部门的名字 select ename,dname from emp,dept where emp.deptno=dept.deptno; 上面的sql
数据库相关SQL 1.7.1. 什么是SQL 1.7.2. 连接数据库 1.7.3. 数据库操作 1.8. 表相关SQL 1.8.1. 什么是表 1.8.2. 数据库表的引擎 1.8.3....数据相关的SQL(CRUD) 1.11.1. 插入语句 1.11.2. 查询语句 1.11.3. 更新语句 1.11.4. 删除语句 1.11.5....什么是SQL Strctured Query Language : 结构化查询语言 通过sql语言和DBMS(数据库管理软件)进行交互 连接数据库 终端中输入: mysql -u root -...p 输入密码即可,没有密码直接回车即可 数据库操作 create database d_name ; 创建数据库d_name drop database d_name; 删除数据库d_name show...什么是表 表是数据库中存放数据的单元,任何数据都是存放到表中 类似java中的Class,表中的字段对应class的属性 数据库表的引擎 innoDB : 支持数据库的高级操作,包括事务 主键
可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。 SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。...查询和更新指令构成了 SQL 的 DML 部分: SELECT - 从数据库表中获取数据 UPDATE - 更新数据库表中的数据 DELETE - 从数据库表中删除数据 INSERT INTO - 向数据库表中插入数据
SQL DDL基本操作 概述&Client启动 基本概述 Hive DDL根据操作对象的不同可分为:数据库操作、表的基本操作、表的高级操作、函数操作。...对数据库的操作包含:对数据库的创建、删除、修改、查看元信息、切换、展示所有数据库。 表的基本操作:对表的创建、删除、修改、清空、查看元信息、查看所有表。 表的高级操作主要是分区、分桶。...函数的操作包含:创建、删除、查看元信息、查看所有函数。...客户端启动 执行Hive SQL时,可以使用beeline,也可以使用Hive Cli,但前提是启动HiveServer2和MetaStore。
先引入包 导入MySQL驱动之前,需要将驱动下载回来 go get -u github.com/go-sql-driver/mysql (确保已经安装了git) import ( "database.../sql/driver" ) 连接数据库 连接数据库: const ( dataSoureNameInfo = "username:password@tcp(IP:4306)/database?...= "all" { sql += " and is_test_exec='" + run + "'" } if env !...= "all" { sql += " and case_env='" + env + "'" } log.Info("根据case环境类型查找case的sql:", sql) err :=...db.Where(sql).Limit(limit).Offset(offset).Order("id desc").Find(&result).Error, err }
1、修改表字段类型 alter table nodes modify column info varchar(200) 示例操作入下: MariaDB [dbmanager]> alter table...Duplicates: 0 Warnings: 0 MariaDB [dbmanager]> 3、备份数据库 mysqldump -h hostname -uroot -p dbname > /root/sql.../bak.sql 示例操作 [root@hadron ~]# mysqldump -h master -uroot -p123456 dbmanager > /root/sql/bak.sql [root...@hadron ~]# ll sql|grep bak.sql -rw-r--r-- 1 root root 25908 11月 28 09:34 bak.sql [root@hadron ~]#
SQL操作符 符号(-)将表达式作为负数返回的一元运算符。大纲-expression参数expression - 数值表达式。描述一元运算符仅对数字数据类型类别的任何数据类型的一个表达式执行操作。...–是SQL 扩展。...和年龄减去平均年龄:SELECT Age, -(AVG(age)) AS NegAvg, Age-AVG(Age) AS AgeRelAvgFROM Sample.PersonSQL操作符...描述一元运算符仅对一个表达式执行操作。此表达式可以是数字数据类型类别的任何数据类型。 +(正)是一个 SQL 扩展。
drop删除数据库 test1: drop database <数据库名>; drop database test1;
有趣 今天我们的【有关SQL微信群】提了个高质量的问题。 ? 提问的同学很讲究,能用图描述明白问题,看了就有回答的冲动。 思路 这是经典的行列转行问题。有些读者刚看了图就跳出了文章,实在可惜。...这是核心代码思路,如果需要转的字段有很多,那么需要写函数或者拼接动态 SQL 了,可以自由发挥。 当然,解决此题的最优雅方案肯定不止这一种,有兴趣可留言讨论。...总结 在之前的文章中,对于 SQL 行列转换场景我归结了一句诗:
⭐本文介绍⭐ BETWEEN 操作符用于选取介于两个值之间的数据范围内的值。 ---- SQL BETWEEN 操作符 BETWEEN 操作符选取介于两个值之间的数据范围内的值。...BETWEEN 1 AND 20) AND country NOT IN ('USA', 'IND'); 执行输出结果: ---- 带有 IN 的 BETWEEN 操作符实例 下面的 SQL...'H'; 执行输出结果: ---- 带有文本值的 NOT BETWEEN 操作符实例 下面的 SQL 语句选取 name 不介于 'A' 和 'H' 之间字母开始的所有网站: 实例 SELECT...文件:access_log.sql。...---- 带有日期值的 BETWEEN 操作符实例 下面的 SQL 语句选取 date 介于 '2016-05-10' 和 '2016-05-14' 之间的所有访问记录: 实例 SELECT
写这篇随笔的目的是我发现了在上一篇关于My SQL的随笔中存在一些不严谨的代码问题,在这里再次简单的总结一下并加以改进,以代码为主。 # !...存在的数据库名字/表的名字; 清屏 system clear 导入导出数据库 导出(终端中): mysqldump -uroot -p 存在的要导出的数据库的名字 > 要导出位置的绝对路径/新名字.sql...导入(终端中): mysql -uroot -p 新数据库的名字 < 路径/要导入的数据库名字.sql 导入(客户端中): 1....先建一个新的数据库,名字随意 2. use 这个空的数据库 3. source 写要导入的.sql文件的绝对路径 约束 两种添加的时机:1.
这篇文章我们先来了解一下pandas包中的类SQL操作,pandas中基本涵盖了SQL和EXCEL中的数据处理功能,灵活应用的话会非常高效。...写过SQL的小伙伴了解,条件查询就是SQL中WHERE的部分, pandas如何实现where条件,我们来仔细盘一下: 第一种写法: print(data[data['a'] >= '2']) 上面可以解读为...SQL中的join函数。...Merge的操作除了可以类比于SQL操作外,还可以做集合运算(交、并、差),上文中的inner、outer可以看作是交和并,差我们会在下文中描述。 注: 此处可以补充list的交集和并集。...Concat用法:主要功能是拼接,由于没有主键约束,对数据结构要求较为严格,需要人为对齐字段,这一操作类似于SQL中的union操作。
领取专属 10元无门槛券
手把手带您无忧上云