mysql数据库

Python MySQL Update

人盡茶涼 提交于 2020-01-07 17:07:50
更新表 可以使用“UPDATE”语句,更新表格内的现有记录: 示例 将地址栏由“Valley 345”改写为“Canyoun 123”: import mysql.connector mydb = mysql.connector.connect( host="localhost", user="你的用户名", passwd="你的密码", database="mydatabase" ) mycursor = mydb.cursor() sql = "UPDATE customers SET address = 'Canyon 123' WHERE address = 'Valley 345'" mycursor.execute(sql) mydb.commit() print(mycursor.rowcount, " 条记录已更新") 复制 注意: 数据库修改后,需要使用mydb.commit()语句提交,不提交,修改不会生效。 注意UPDATE语句中的WHERE子句: WHERE子句指定应该更新哪些记录。如果省略WHERE子句,将更新所有记录! 防止SQL注入 在update语句中,为了防止SQL注入,通常应该转义查询值。 SQL注入是一种常见的web黑客技术,用于破坏或误用数据库。www.cdxsxbx.com mysql.connector 模块有方法可以转义查询值: 示例

MySql数据库设置

徘徊边缘 提交于 2020-01-07 16:27:01
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1.1、改表法 : 可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从“localhost”改称“%” mysql -u root -pXXXX mysql> use mysql; mysql> update user set host = ‘%’ where user = ‘root’; mysql> select host, user from user; mysql> flush privileges; 例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。 1.2、授权法: mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; bind-address在/etc/mysql/mysql.conf.d/mysql.cnf里面,找到把这个注释 然后重启数据库: /etc/init.d/mysql start 来源: oschina 链接: https://my.oschina.net/u

shell_innobackup增量备份步骤

陌路散爱 提交于 2020-01-07 16:17:39
alias start='service mysql.server start' alias restart='service mysql.server restart' alias stop='service mysql.server stop' alias kill='pkill -9 mysqld' 一、全库备份 [root@mysql01 ~]# innobackupex --user=admin /xtrabackup_full/ mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | db01 | | db02 | | db03 | | mysql | | performance_schema | | test | +--------------------+ 7 rows in set (0.15 sec) 二、全备后数据库更改操作 mysql> drop database db02; Query OK, 1 row affected (0.38 sec) mysql> use db03 mysql> show tables; +----------------+ | Tables_in_db03 | +----

【MySQL】悲观锁&乐观锁

送分小仙女□ 提交于 2020-01-07 15:59:39
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 悲观锁与乐观锁是两种常见的资源并发锁设计思路,也是并发编程中一个非常基础的概念。本文将对这两种常见的锁机制在数据库数据上的实现进行比较系统的介绍。 悲观锁(Pessimistic Lock) 悲观锁的特点是先获取锁,再进行业务操作,即“悲观”的认为获取锁是非常有可能失败的,因此要先确保获取锁成功再进行业务操作。通常所说的“一锁二查三更新”即指的是使用悲观锁。通常来讲在数据库上的悲观锁需要数据库本身提供支持,即通过常用的select … for update操作来实现悲观锁。当数据库执行select for update时会获取被select中的数据行的行锁,因此其他并发执行的select for update如果试图选中同一行则会发生排斥(需要等待行锁被释放),因此达到锁的效果。select for update获取的行锁会在当前事务结束时自动释放,因此必须在事务中使用。 这里需要注意的一点是不同的数据库对select for update的实现和支持都是有所区别的,例如oracle支持select for update no wait,表示如果拿不到锁立刻报错,而不是等待,mysql就没有no wait这个选项。另外mysql还有个问题是select for update语句执行中所有扫描过的行都会被锁上

MySQL数据库练习-2

冷暖自知 提交于 2020-01-07 15:38:37
查询平均成绩大于等于 60 分的同学的学生编号和学生姓名和平均成绩 分析:看到这道题的时候,刚开始考虑的是有的同学有三门成绩,有的同学有两门成绩,我是应该所有同学都总分除以三,还是总分除以各自科目数?所以这里这道题也有点不严谨,我这里选择第二种情况(因为第一种貌似比第二种麻烦,懒癌发作).我们可以查询sc表中平均成绩大于等于60的同学的SId,然后和算出来的AVG组成一张表r,然后和表Student联合查询 查询成立表r,这里记得要给查询的结果一个别名ss select SId, AVG(score) AS ss from sc GROUP BY SId HAVING AVG(score)> 60; 结果: +------+----------+ | SId | ss | +------+----------+ | 01 | 89.66667 | | 02 | 70.00000 | | 03 | 80.00000 | | 05 | 81.50000 | | 07 | 93.50000 | +------+----------+ 对表Student和r进行联合查询 select student.SId,sname,ss from student,( select SId, AVG(score) as ss from sc GROUP BY SId HAVING AVG(score)>

mysql 优化数据库对象

谁说我不能喝 提交于 2020-01-07 15:07:41
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1.优化表的数据类型: 表需要使用何种数据类型是需要根据应用来判断的。虽然应用设计的时候需要考虑字段的长度留有一定的冗余, 但是不推荐让很多字段都存有大量的冗余,这样既浪费磁盘存储空间,同时在应用程序操作时也浪费物理内存。 在mysql中,可以使用函数PROCEDURE ANALYSE()对当前应用的表进行分析, 该函数可以对数据表中列的数据类型提出优化建议, 用户可以根据应用的实际情况考虑是否实施优化。 如: select * from warning_repaired PROCEDURE ANALYSE()\G; 范例: 建表: ----------------------------------------------------------------------------------------------------------------------------------------+ | warning_repaired | CREATE TABLE `warning_repaired` ( `id` int(11) NOT NULL AUTO_INCREMENT, `device_moid` varchar(36) NOT NULL, `device_name` varchar(128)

python 连接 MySQL 数据库

烂漫一生 提交于 2020-01-07 14:31:19
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> import pymysql # ==== 获取数据库中的数据 ==== # 打开数据库连接 IP 用户 密码 数据库名称 编码 db = pymysql.connect("localhost","root","123456","iweb", charset="utf8") # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 查询语句 sql = "select * from iwebshop_category where parent_id=0 and visibility=1 order by sort" # 执行SQL语句 cursor.execute(sql) # 获取所有记录列表 results = cursor.fetchall() cate_names = [i[1] for i in results] # 关闭数据库连接 db.close() 免费下载试用: https://support.i-search.com.cn/ 来源: oschina 链接: https://my.oschina.net/u/4248887/blog/3154367

MySQL常用命令.md

≡放荡痞女 提交于 2020-01-07 13:18:56
链接数据库 ## -h/-u这些后面没有空格 ./bin/mysql -h[ip地址] -P[端口号] -u[用户名] -p[密码] 查看建表语句 show create table [table_name] 列出所有的数据库 show databases; 列出所有的表 show tables; 模糊查找表名 show tables like '%aaa%'; client链接mysql的常用参数 jdbc:mysql://127.0.0.1:3306/mubiao?useUnicode=true&characterEncoding=UTF8&useSSL=false&serverTimezone=Asia/Shanghai useUnicode : 使用转码 characterEncoding : 指定编码方式 useSSL : 是否使用SSL方式登录 serverTimezone : 指定数据库服务的时区 . 否则datatime字段的时区默认为+0 , 与北京时间不对 来源: https://www.cnblogs.com/ElEGenT/p/12155546.html

PDO 查询mysql返回字段整型变为String型解决方法

孤者浪人 提交于 2020-01-07 12:58:12
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> PDO 查询 mysql 返回字段整型变为String型解决方法 使用PDO查询mysql数据库时,执行prepare,execute后,返回的字段数据全都变为字符型。 例如id在数据库中是 Int 的,查询后返回是 String 型。 对于php这种弱类型的语言,影响不大。在做API返回数据时,如果类型与数据库不一致,对于java和Objective C这些强类型,影响就很大了。 解决方法: <?php$pdo = new PDO($dsn, $user, $pass, $param);// 在创建连接后,加入$pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);?>1234567 这两句设置的作用 PDO::ATTR_STRINGIFY_FETCHES 提取的时候将数值转换为字符串。 PDO::ATTR_EMULATE_PREPARES 启用或禁用预处理语句的模拟。 更多 PDO setAttribute 可参考: http://php.net/manual/zh/pdo.setattribute.php 顶 0 踩 来源: oschina 链接

MySQL 过渡 PostgreSQL 经验分享

天涯浪子 提交于 2020-01-07 12:07:20
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 声明 本文思路从一开始就定位为基于云数据库来部署,不考虑生产环境自己搭建、维护、备份 本文只为:sculptor-boot-generator 代码生成器体系服务 Github Gitee 感谢群里老鐡童鞋审稿! PostgreSQL 资料打包 关注公众号: cd-k8s ,聊天窗口输入: postgresql 可以得到 1 套视频、9 本 PDF 资料 总结 MySQL 的用户群体性好于 PostgreSQL,特别是国内,更加容易上手。但是 PostgreSQL 从体验上最大优势就是插件以及带来的各种可能。 两者的基准压力测试工具不同,很难说测试数据对比是公平的,如果是通过 Java 代码测试同配置的 CURD,非极限情况下,两者使用感受上差距不大。 PostgreSQL 在做统计分析上可以借助各种函数、语法进行支持,所以在数据分析上有优势 借用知乎上的一句总结 PostgreSQL 我觉得很合适: PostgreSQL 是一专多长的全栈数据库:在可观的规模内,都能做到一招鲜吃遍天 所以,作为中小企业我觉得完全可以依赖 PostgreSQL,特别是求活阶段的企业 本文大纲 PostgreSQL 官网资料介绍 PostgreSQL 和 MySQL 语法差异点 PostgreSQL 在阿里云的情况