
数据库
Insane_Loafer
这个作者很懒,什么都没留下…
展开
-
新闻管理系统(六)终结-完善用户管理
user_dao.py# !/user/bin/env python# -*- coding: utf-8 -*-from db.mysql_db import poolclass UserDao(object): # 验证用户登录 def login(self, username, password): try: con = pool.get_connection() cursor = con.cursor()原创 2021-09-27 20:50:09 · 233 阅读 · 0 评论 -
新闻管理系统(五)完善新闻管理功能
news_dao.py添加新闻列表、总页数、删除新闻功能#!/usr/bin/python3# -*- coding: utf-8 -*-from db.mysql_db import poolclass NewsDao(object): # 查询待审批列表 def search_unreview_list(self, page): try: con = pool.get_connection() cursor =原创 2021-09-26 22:01:54 · 640 阅读 · 0 评论 -
新闻管理系统(四)封装news表相关
db中封装news_dao.py#!/usr/bin/python3# -*- coding: utf-8 -*-from vega.db.mysql_db import poolclass NewsDao(object): # 查询待审批列表 def search_unreview_list(self, page): try: con = pool.get_connection() cursor = con.cur原创 2021-09-26 12:53:03 · 169 阅读 · 0 评论 -
新闻管理系统(三)封装Service和App
Service模块service_user.py#!/usr/bin/python3# -*- coding: utf-8 -*-from vega.db.user_dao import UserDaoclass UserService(object): __user_dao=UserDao() # 验证用户登录 def login(self, username, password): result=self.__user_dao.login(us原创 2021-09-25 20:55:14 · 141 阅读 · 0 评论 -
新闻管理系统(二)连接池封装
封装连接池模块验证用户登录函数#!/user/bin/env python# -*- coding: utf-8 -*-from vega.db.mysql_db import poolclass UserDao(object): # 验证用户登录 def login(self, username, password): try: con=pool.get_connection() cursor=con.curs原创 2021-09-24 13:02:31 · 113 阅读 · 1 评论 -
新闻管理系统(一)介绍
项目展示安装模块前,先更新pip利用pip安装模块之前,必须要先更新pippython -m pip install --upgrade pip如果Python环境安装在C盘,必须用管理员身份打开终端窗口才能升级pip,以及安装模块Colorama模块Python程序向控制台输出彩色文字,先要安装colorama模块pip install coloramapip install colorama -i https://pypi.tuna.tsinghua.edu.cn/simple原创 2021-09-23 21:25:42 · 343 阅读 · 0 评论 -
Python-MySQL Connector模块练习
案例一练习使用INSERT语句,把部门平均底薪超过公司平均底薪的这样部门里的员工信息导入到t_emp_new表里面,并且让这些员工隶属于sales部门#!/user/bin/env python# -*- coding: utf-8 -*-import mysql.connector.poolingconfig = { "host":"localhost", "port":"3306", "user":"root", "password":"123234",原创 2021-09-23 13:22:25 · 112 阅读 · 0 评论 -
Python-MySQL Connector模块
MySQL官方驱动模块MySQL Connector是MySQL官方的驱动模块,兼容性特别好下载地址:https://dev.mysql.com/downloads/connector/python/创建连接方式一import mysql.connectorcon = mysql.connector.connect( host="localhost", port="3307", user="root", password="jinhua911love",原创 2021-09-23 12:25:59 · 345 阅读 · 0 评论 -
新闻管理系统创建逻辑库和数据表
数据库的ER图password 类型为varchar(500),因为数据库保存的是加密后的密码,所以需要500个字符editor_id 引用 t_user 的idcontend_id 关联MongoDB的内容id,MongoDB固定字符串长度为12is_top,是否置顶,共分为十级数据加密AES加密函数MySQL数据库提供了AES加密和解密的函数,所以数据的加密解密非常容易实现AES_ENCRYPT(原始数据,密钥字符串)SELECT AES_ENCRYPT ("你好世界",原创 2021-09-21 22:12:31 · 666 阅读 · 0 评论 -
新闻管理系统数据库设计
新闻管理系统新闻管理系统用例图新闻有哪些属性原创 2021-09-21 16:11:26 · 770 阅读 · 0 评论 -
数据库的数据导入与导出
数据导出与备份的区别数据导出,导出的纯粹是业务数据数据备份,备份的是数据文件、日志文件、索引文件等等数据导出的分类数据较多选择文本文档数据较少选择SQL文档导出SQL文件1. 使用命令行mysqldump用来把业务数据导出成SQL文件,其中也包括了表结构mysqldump -uroot -p [no-data] 逻辑库 > 路径no-data:只导出表结构,不写的话就会导出表结构和数据使用之前要将MySQL的bin目录配置到环境变量2. 使用图形化工具Nav原创 2021-09-18 22:01:44 · 2084 阅读 · 0 评论 -
数据库的事务机制
避免写入直接操作数据文件如果数据的写入直接操作数据文件是非常危险的事情利用日志来实现间接写入MySQL总共有5种日志,其中只有redo日志和undo日志与事务有关数据操作记录拷贝到 undo 日志,增删改查的操作记录到 redo 日志事务提交之后 redo日志才会与数据库进行数据同步事务机制(Transaction)RDBMS = SQL语句+事务(ACID)事务是一个或者多个SQL语句组成的整体,要么全部执行成功,要么全都执行失败事务案例把10部门中MANGER员工调原创 2021-09-18 20:22:35 · 261 阅读 · 0 评论 -
MySQL函数
MySQL的函数像编程语言利用函数封装业务功能一样,数据库也把-一些复杂的功能封装到函数里,供使用者调用函数分类:数字函数、字符函数、日期函数、条件函数数字函数LN是以常数e为底数日期函数获取系统时间函数NOW() 函数能获得系统日期和时间,格式yyy-MM-dd hh:mm:ssCURDATE() 函数能获得当前系统日期,格式yyyy-MM-ddCURTIME() 函数能获得当前系统时间,格式hh:mm:ss日期格式化函数DATE_FORMAT() 函数用于格式化原创 2021-09-17 21:45:27 · 176 阅读 · 0 评论 -
数据操作语言:DELETE语句
DELETE语句DELETE语句用于删除记录,语法如下:DELETE [IGNORE] FROM 表名[WHERE 条件1,条件2,...][ORDER BY...][LIMIT...];练习删除10部门中,工龄超过20年的员工记录delete from t_emp where deptno=10 and datediff(now(),hiredate)/365>20;删除20部门中工资最高的员工记录delete from t_emp where deptno=20原创 2021-09-16 13:13:39 · 3617 阅读 · 0 评论 -
数据操作语言:UPDATE语句
UPDATE语句UPDATE语句用于修改表的记录UPDATE [IGNORE] 表名SET 字段1=值1, 字段2=值2,...[WHERE 条件1 ...][ORDER BY ...][LIMIT ...];这里的LIMIT只能写一个参数执行顺序:UPDATE-> WHERE-> ORDER BY-> LIMIT-> SET练习把每个员工的编号和上司的编号+1,用ORDER BY子句完成update t_emp set empno=empno+1原创 2021-09-16 12:40:58 · 1652 阅读 · 0 评论 -
数据操作语言:INSERT语句
INSERT语句INSERT语句可以向数据表写入记录,可以是一条记录,也可以是多条记录INSERT INTO 表名(字段1,字段2,......)VALUES(值1,值2,..... )插入多条记录INSERT INTO 表名(字段1,字段2,...)VALUES(值1,值2,......),(值1,值2,...);练习向技术部添加一条员工记录insert into t_emp(empno,ename,job,mgr,hiredate,sal,comm,deptno)v原创 2021-09-15 21:16:13 · 4632 阅读 · 0 评论 -
数据操作语言:子查询
子查询简介子查询是一种查询中嵌套 查询的语句查询底薪超过公司平均底薪的员工的信息SELECT empno, ename, salFROM t_empWHERE sal>=(SELECT AVG(sal) FROM t_emp);WHERE 语句的子查询不推荐使用,影响查询效率子查询的分类子查询可以写在三个地方: WHERE子句、FROM子句、SELECT子句,但是只有FROM子句子查询是最可取的WHERE子查询这种子查询最简单,最容易理解,但是却是效率很低的子查询原创 2021-09-15 13:25:04 · 209 阅读 · 0 评论 -
数据操作语言:连接查询-外连接
为什么要使用外连接如果说陈浩是一名临时人员, 没有固定的部门]编制,那么我们想查询每名员工和他的部门门名称,用内连接就会漏掉陈浩,所以要引入外连接的语法才能解决这个问题外连接简介外连接与内连接的区别在于,除了符合条件的记录之外,结果集中还会保留不符合条件的记录。SELECT e.empno, e.ename, d.dnameFROM t_emp eLEFT JOIN t_dept d ON e.deptno = d.deptno;左连接和右连接左外连接就是保留左表所有的原创 2021-09-14 13:04:17 · 470 阅读 · 0 评论 -
数据操作语言:表连接查询-内连接
从多张表中提取数据从多张表中提取数据,必须指定关联的条件。如果不定义关联条件就会出现无条件连接,两张表的数据会交叉连接,产生笛卡尔积。SELECT empno, ename, dtname FROM t_emp JOIN t_dept;从多张表中提取数据规定了连接条件的表连接语句,就不会出现笛卡尔积SELECT e.empno, e.ename, d.dname FROM t_emp e JOIN t_dept d ON e.deptno=d.deptno;表连接的分类表连接分为原创 2021-09-13 21:47:13 · 565 阅读 · 0 评论 -
数据操作语言:Having子句
分组查询遇到的困难查询部门门]平均底薪超过2000元的部门编号SELECT deptno FROM t_empWHERE AVG(sal) >=2000GROUP BY deptno;上述例子中由于 WHERE 子句执行顺序优于 GROUP BY 子句,但 WHERE 子句中的聚合函数又得依靠 GROUP BY来进行分组,所以就会导致运行出错HAVING子句SELECT deptno FROM t_empGROUP BY deptno HAVING AVG(sal) >原创 2021-09-13 12:57:01 · 133 阅读 · 0 评论 -
数据操作语言:分组查询
为什么要分组?默认情况下汇总函数是对全表范围内的数据做统计GROUP BY子句的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对每个小区域分别进行数据汇总处理//ROUND将小数变为整数SELECT deptno,ROUND(AVG(sal)) FROM t_emp GROUP BY deptno;逐级分组数据库支持多列分组条件,执行的时候逐级分组。查询每个部门里,每种职位的人员数量和平均底薪SELECT deptno, job, COUNT(*),AVG(sal)原创 2021-09-12 20:35:23 · 178 阅读 · 0 评论 -
数据操作语言:聚合函数
什么是聚合函数聚合函数在数据的查询分析中,应用十分广泛。聚合函数可以对数据求和、求最大值和最小值、求平均值等等。求公司员工的平均月收入是多少?SELECT AVG (sal+IFNULL(comm,0)) FROM t_emp;SUM函数SUM函数用于求和,只能用于数字类型,字符类型的统计结果为0,日期类型统计结果是毫秒数相加。SELECT SUM(ename) FROM t_emp;SELECT SUM(sal) FROM t_emp WHERE deptno IN(10,20);原创 2021-09-12 20:07:09 · 236 阅读 · 0 评论 -
数据操作语言:条件查询
条件查询很多时候,用户感兴趣的并不是逻辑表里的全部记录,而只是它们当中能够满足某一种或某几种条件的记录。这类条件要用WHERE子句来实现数据的筛选SELECT ... FROM ... WHERE 条件 [AND | OR] 条件 ...;SELECT empno , ename , sal FROM t_empWHERE deptno=10 AND sal >= 2000;SELECT empno , ename , sal FROM t_empWHERE (deptno原创 2021-09-11 22:04:34 · 127 阅读 · 0 评论 -
数据操作语言:去除重复数据
结果集中的重复数据假如我们要查询员工表有多少种职业,写出来的SQL语句如下:SELECT job FROM t_emp ;去除重复记录如果我们需要去除重复的数据,可以使用DISTINCT关键字来实现SELECT DISTINCT 字段 FROMSELECT DISTINCT job FROM t_emp ;注意事项使用DISTINCT的SELECT子句中只能查询一列数据,如果查询多列,去除重复记录就会失效。这样会失效:SELECT DISTINCT job , ename F原创 2021-09-11 21:24:41 · 697 阅读 · 0 评论 -
数据操作语言:结果集排序
结果集排序如果没有设置,查询语句不会对结果集进行排序。也就是说,如果想让结果集按照某种顺序排列,就必须使用ORDER BY子句。ASC为正序,默认为ASCDESC为倒序SELECT .. FROM ... ORDER BY 列名 [ASC | DESC ];//例子SELECT ename , sal FROM t_emp ORDER BY sal;升序 ASC降序 DESC排序关键字ASC代表升序(默认), DESC代表降序如果排序列是数字类型,数据库就按照数字大小排原创 2021-09-11 20:04:29 · 233 阅读 · 0 评论 -
数据操作语言:数据分页
数据分页比如我们查看朋友圈,只会加载少量部分信息,不用一次性加载全部朋友圈,那样只会浪费CPU时间、内存和网络带宽如果结果集的记录很多,则可以使用LIMIT关键字限定结果集数量SELECT ... FROM ... LIMIT 起始位置, 偏移量;//例子SELECT empno, ename FROM t_emp LIMIT 0,20;数据分页的简写用法如果LIMIT子句只有一个参数,它表示的是偏移量,起始值默认为0SELECT empno , ename FROM t_emp原创 2021-09-11 19:45:24 · 85 阅读 · 0 评论 -
数据操作语言:普通查询
记录查询最基本的查询语句是由SELECT和 FROM关键字组成的SELECT * FROM t_emp;SELECT empno, ename, sal FROM t_emp ;SELECT语句屏蔽了物理层的操作,用户不必关心数据的真实存储,交由数据库高效的查找数据使用列别名通常情况下,SELECT子句中使用了表达式,那么这列的名字就默认为表达式,因此需要一种对列名重命名的机制SELECT empno , sal*12 AS "income "FROM t_emp;查询原创 2021-09-11 19:38:48 · 129 阅读 · 0 评论 -
MySQL数据定义语言:索引机制
数据排序的好处—旦数据排序之后,查找的速度就会翻倍,现实世界跟程序世界都是如此如何创建索引CREATE TABLE 表名称( ..., INDEX [索引名称] (字段), ...);实战CREATE TABLE t_message( id INT UNSIGNED PRIMARY KEY, content VARCHAR(200) NOT NULL, type ENUM("公告","通报","个人通知") NOT NULL, create_time TIMESTAMP原创 2021-09-09 21:44:45 · 87 阅读 · 0 评论 -
MySQL数据定义语言:字段约束
数据库的范式构造数据库必须遵循一定的规则,这种规则就是范式目前关系数据厍有6种范式,一般情况下,只满足第三范式jike第一范式:原子性第一范式是数据库的基本要求,不满足这一点就不是关系数据库数据表的每一列都是不可分割的基本数据项,同一列中不能有多个值,也不能存在重复的属性。第二范式:唯一性数据表中的每条记录必须是唯一的。为了实现区分,通常要为表加上一个列用来存储唯─标识,这个唯一属性列被称作主键列第三范式:关联性每列都与主键有直接关系,不存在传递依赖依照第三范式,数据原创 2021-09-09 20:33:27 · 119 阅读 · 0 评论 -
MySQL数据定义语言:修改表结构
添加字段ALTER TABLE 表名称ADD 列1 数据类型 [约束] [COMMENT注释],ADD 列2 数据类型 [约束] [COMMENT注释],...;修改字段类型和约束ALTER TABLE表名称MODIFY 列1 数据类型 [约束] [COMMENT注释],MODIFY 列2 数据类型 [约束] [COMMENT注释],...;DESC student; 查看表结构修改字段名称ALTER TABLE 表名称CHANGE 列1 新列名1 数据类型 [约束原创 2021-09-09 12:58:57 · 89 阅读 · 0 评论 -
MySQL数据定义语言:数据类型
数据类型:数字1字节=8个二进位十进制浮点数转二进制浮点数会丢数据DECIMAL 保存的数字为字符串类型,不存在数据丢失,所以是精确的浮点数类型DECIMAL(10,2) 其中 10 表示整数位+小数位一共为10个字符,2 表示小数位数不精确的浮点数十进制的浮点数无法在计算机中用二进制精确表达如何用二进制小数表示十进制的0.2 ?1/8 + 1/16 + 1/128.+.....,只能无限接近0.2实例:使用float类型2. 使用DECIMAL类型数据类原创 2021-09-09 12:49:39 · 87 阅读 · 0 评论 -
MySQL数据定义语言:定义逻辑库、数据表
什么是SQL语言?SQL是用于访问和处理数据的标准的计算机语言SQL语言分类SQL语句注意事项SQL语句不区分大小写,但是字符串区分大小写SELECT "HelloWorld";SQL语句必须以分号结尾SQL语句中的空白和换行没有限制,但是不能破坏语法SQL语句的注释SQL语句的注释有两种,分别如下:#这是一段注释文字/*这是另一-段注释文字*/ 用于多行注释逻辑库操作创建逻辑空间(逻辑库):CREATE DATABASE 逻辑库名称;查看逻辑空间(逻辑库):S原创 2021-09-08 13:05:53 · 230 阅读 · 0 评论 -
MySQL配置文件
MySQL配置文件在my.ini文件中,我们可以设置各种MySQL的配置,例如字符集、端口号、目录地址等等原创 2021-09-08 12:39:11 · 113 阅读 · 0 评论 -
MySQL用户管理、数据文件夹、重设密码
下载Navicat客户端修改客户端字体大小连接MySQL添加用户及权限创建一个逻辑控件(database)create database test;点击新建用户填写参数赋予用户dev有关test数据库的增删改查权限,然后点击保存MySQL数据文件夹路径:C:\ProgramData\MySQL\MySQL Server 8.0重设root密码创建一个TXT文件,定义修改密码的SQL语句ALTER USER 'root'@'lo原创 2021-09-07 22:09:21 · 257 阅读 · 1 评论 -
MySQL数据库安装与初始化
MySQL数据库MySQL是应用最广泛、普及度最高的开源关系型数据库MySQL由瑞典MySQL AB公司开发,目前属于Oracle旗下产品MySQL大事件MySQL衍生版安装MySQL下载地址选择仅安装server执行配置加密机制设置密码配置环境变量path中配置初始化终端输入:musql -uroot -p 输入密码即可打印逻辑空间(schema)...原创 2021-09-07 12:56:25 · 152 阅读 · 0 评论 -
数据库简介
操作系统中数据存放的载体Windows、Linux和MacOS都是基 于文件的操作系统为什么要使用数据库管理数据?什么是数据库系统?数据库系统(DBMS) 是指一个能为用户提供信息服务的系统。它实现了有组织地、动态地储存大量相关数据的功能,提供了数据处理和信息资源共享的便利手段。什么是关系型数据库系统?关系型数据库系统(RDBMS)是指使用了关系模型的数据库系统关系模型中,数据是分类存放的,数据之间可以有联系第一个关系型数据库1976年IBM的System R团队在出版的论原创 2021-09-06 12:54:34 · 231 阅读 · 0 评论