![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
__泡泡茶壶
这个作者很懒,什么都没留下…
展开
-
MySQL左右连接
首先来看一下两张主要的表:persons表orders表现在我们希望列出所有的人,以及他们的定购。SELECT persons.last_name, persons.first_name, orders.order_noFROM personsLEFT JOIN orders ON persons.pid = orders.pidORDER BY persons.last_name结果这里是persons的左连接,以persons为主。所以转载 2021-10-08 18:22:36 · 1512 阅读 · 0 评论 -
数据库知识点
名词积累:数据库(Databa se):存放和提供数据的“库房”数据(Data):数据库中存储的基本对象。数据库管理系统(DBMS):位于用户与操作系统之间的一层数据管理软件。数据库系统(Databa se System):包括数据库、DBMS、应用系统、数据库管理员(DBA)主键(Primary Key):用于唯一的标识表中的某一条记录的属性或属性的集合。外键(Foreign Key):用于与另一张表关联,外键为另一张表的主键超键(Super Key):超键是能唯一区分元组的属性或属性的集合原创 2021-09-29 15:24:59 · 124 阅读 · 0 评论 -
如何用python通过cx_Oracle操作oracle
import cx_Oracle as oraclefrom pprint import pprintdb = oracle.connect('账号/密码@ip:端口/数据库实例名')# db = oracle.connect('账号', '密码', 'ip:端口/数据库实例名')# tns= oracle.makedsn('ip', '端口', '数据库实例名')# oracle.connect('账号', '密码', tns)cur = db.cursor()# 创建游标def转载 2021-09-03 15:08:08 · 381 阅读 · 0 评论 -
分布式数据库
分片透明:用户不必关系数据是如何分片的,它们对数据的操作在全局关系上进行,即关系如何分片对用户是透明的,因此,当分片改变时应用程序可以不变。复制透明:用户觉察不到分段的复制,复制透明性和位置透明性紧密相关。位置透明:指用户不必知道莎草纸的数据放何处,即数据分配到哪个或哪些站点存储对用户是透明的。逻辑透明:指局部数据模型透明,该透明性提供数据到局部数据库的映像,即用户不必关心局部DBMS支持那种数据模型、使用哪种数据操纵语言,数据模型和操纵语言的转换是由系统完成的。...原创 2021-06-24 22:26:24 · 75 阅读 · 0 评论 -
宽表与窄表
宽表:从字面意义上讲就是字段比较多的数据库表。通常是指业务主题相关的指标、维度、属性关联在一起的一张数据库表。由于把不同的内容都放在同一张表存储,宽表已经不符合三范式的模型设计规范,随之带来的主要坏处就是数据的大量冗余,与之相对应的好处就是查询性能的提高与便捷。这种宽表的设计广泛应用于数据挖掘模型训练前的数据准备,通过把相关字段放在同一张表中,可以大大提高数据挖掘模型训练过程中迭代计算时的效率问题。(一句话,空间换时间,便于训练迭代、减少表关联数量,修改少量数据时不需要该多张表)窄表:严格按照数据库设计.转载 2021-06-23 23:53:33 · 885 阅读 · 0 评论 -
mysql数据库主从同步的原理
1.为什么数据库要设置主服务器和从服务器?数据库数据是一个公司或者集团企业最为重要的资产,我得备份。互联网的很多业务,特别是在高并发的场景下,基本都是读远远大于写,如果数据库读和写的压力都同在一台主机上,这显然不太合理为了进一步的降低数据库端的压力(高并发的瓶颈),这个时候也会在业务层部署分布式缓存集群(redis、memcached)等,把读的压力转移给应用服务器端(与数据主从的设计是遵循同一个原则,降低后端数据库的压力)问题:读写分离提高了资源的利用效率的同时也引出了一个问题,就是由于延时转载 2021-05-14 11:06:28 · 1215 阅读 · 0 评论 -
如何用python通过pymysql操作MYSQL
import pymysqlfrom pprint import pprint# 打开数据库连接conn = pymysql.connect( host="ip地址", port=端口号, user="数据库用户名", passwd="数据库密码", db="操作的数据名", charset="编码格式")#print(conn)#print(type(conn))cur = conn.cursor() # 定义一个游标,通过游标来操作数据库原创 2021-05-10 15:11:02 · 89 阅读 · 0 评论 -
oracle中column not allowed here异常处理
解决方案:当数据以char的形式存在时,应加单引号,则插入数据库就不会出现类似错误原创 2021-04-28 18:59:22 · 1153 阅读 · 0 评论 -
oracle中too many values异常处理
原因:insert语句的指定列和Values 后的数据不配原创 2021-04-28 18:43:46 · 1369 阅读 · 0 评论 -
oracle中duplicate column name异常处理
原因:一般是sql语句查询的时候,出现了相同的列名解决方案:1、删除相同列名2、通过as进行重命名,修改字段名原创 2021-04-28 18:39:29 · 2265 阅读 · 0 评论 -
MySQL测试实用语句
一、查询列注释及列名称select column_name, column_comment from information_schema.columns where table_schema ='databaseName' and table_name = 'tableName';二、查询表注释及表名称select table_name,table_comment from information_schema.tables where table_schema = 'image'原创 2021-04-28 10:10:05 · 475 阅读 · 0 评论 -
oracle测试实用SQL语句
1.查询当前数据库中所有表名select * from user_tables;2.查询指定表中的所有字段名select column_name from user_tab_columns where table_name = 'table_name';--表名要全大写3.查询指定表中的所有字段名和字段类型select column_name, data_type from user_tab_columns where table_name = 'table_name';--表名要全原创 2021-04-14 18:15:14 · 866 阅读 · 0 评论