mysql update语句

我的 MySQL 客户端:支持 pymysql / mysqlclient 双模块、自动重连、独创事务回滚装饰器

旧街凉风 提交于 2020-01-13 09:37:25
torndb曾经是我非常喜欢使用的一个MySQL客户端,虽然不足300行代码,却支持pymysql/mysqlclient双模块,且能在连接失效时自动重连。torndb的函数封装也很有特色,相同的功能提供了不同的名字。遗憾的是,进入Py3之后,torndb没有相应的升级,只好放弃了。 近日,重读了torndb的源码,结合我对数据库应用的理解,整理出了一个新的MySQL客户端,暂且命名为youthdb,经过测试,基本实现了我对MySQL客户端所有要求。youthdb的主要特点如下: 支持 pymysql / mysqlclient 双模块 自动重连,继承自torndb 独创事务回滚装饰器 代码总共150行,只有一个Connection类定义,实例化方式如下: db = Connection(host=‘locahost’, port=3306, db=‘test’, user=‘your_account’, passwd=‘your_password’) 对使用者而言,Connection类只有两个方法:query()和transaction()。query()用于执行sql语句。该方法有select、insert、update、delete等4个别名。query会根据sql语句的不同,自动返回多行查询结果、影响到的行数或最后操作的id等。query的arg参数为None或者元组

Python自学基础训练之mysql

独自空忆成欢 提交于 2020-01-13 08:22:22
数据库的知识,大学的时候,即使学了,感觉要是没用到,好多知识忘记了,现在重温补一下。 专业程序员用得多,像我这种用上EXCEL的形式,好少用到。 可百度一下“Python操作Mysql实例教程手册(带书签)”,这个教程实用 数据库需要自行安装 Navicat_12 import pymysql db = pymysql.connect("localhost","root","thinker","08day5") cursor = db.cursor() # 如果数据表已经存在使用 execute() 方法删除表。 cursor.execute("DROP TABLE IF EXISTS EMPLOYEE") # 创建数据表SQL语句=============== sql = """CREATE TABLE EMPLOYEE ( id CHAR(20) NOT NULL, name CHAR(20) )""" cursor.execute(sql) # 创建完成==================================== #插入数据===================================================== sql = "INSERT INTO UserInfo(id,name) VALUES(%s,%s)" cursor.execute

DBA学习参考绝佳资料

泄露秘密 提交于 2020-01-13 03:57:21
原文来自: pursuer.chen 原文地址:https://www.cnblogs.com/chenmh/default.aspx?page=1 [置顶]MongoDB 文章目录 2018-02-09 10:27 by pursuer.chen, 144 阅读, 收藏 , 编辑 基础: MongoDB入门系列(一):基础概念和安装 MongoDB入门系列(二):Insert、Update、Delete、Drop MongoDB入门系列(三):查询(SELECT) MongoDB入门系列(四):权限管理 MongoDB入门系列(五):聚合操作 MongoDB 错误汇总 MongoDB 启动配置参数 集群: MongoDB 复制机制 MongoDB 搭建可复制群集 MongoDB 副本集管理 MongoDB 搭建分片集群 MongoDB 分片管理 MongoDB 分片键的选择与案例 OPS: 0 Comment [置顶]SQL Server 文章目录 2017-06-02 17:27 by pursuer.chen, 335 阅读, 收藏 , 编辑 SQL Server系列: 高可用方案: 搭建域服务器和DNS 搭建Windows故障转移群集 SQL Server Alwayson概念总结 SQL Server AlwaysOn搭建 SQL Server

mysql如何才能远程控制

丶灬走出姿态 提交于 2020-01-12 22:34:15
问题 mysql如何才能远程控制 解决方案 允许客户从远程连接,要保证两个条件: 1. mysql的身份认证信息中要允许客户从远程连接; 2. 防火墙打开mysql的端口(3306) 一般我们只允许用户从本机连接,不建议允许远程连接,这可能会带来额外的安全问题,以及增加网络流量。 如果客户一定要求,首先要知道对方从哪个IP过来,然后通过supervisor管理界面的MySQL数据库工具,点击左边的mysql数据库,点击User表, 在出现的SQL语句输入框内输入: grant select, insert, update, delete on testdb001.* to testdb001_f@192.168.0.60 identified by 'changeme'; (其中,数据库名是testdb001,用户名:testdb001_f,192.168.0.60是远程ip,changeme是密码。) 执行之后,再执行flush privileges,即生效。 来源: https://www.cnblogs.com/sfqas/p/12181826.html

mysql出现ERROR1698(28000):Access denied for user root@localhost错误解决方法

纵然是瞬间 提交于 2020-01-12 17:27:41
我的操作系统是ubuntu18.04,以下是我的mysql版本: 安装完成后,登录mysql的时候就出现了如下错误: 因为安装的过程中没让设置密码,可能密码为空,但无论如何都进不去mysql。 下面是我的处理过程: Step1:修改mysqld.cnf配置文件 在ubuntu的terminal(也即终端)上输入sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf,进入到这个配置文件,然后在这个配置文件中的[mysqld]这一块中加入skip-grant-tables这句话。 1 [mysqld] 2 # 3 # * Basic Settings 4 # 5 user   = mysql 6 pid-file   = /var/run/mysqld/mysqld.pid 7 socket    = /var/run/mysqld/mysqld.sock 8 port   = 3306 9 basedir   = /usr 10 datadir    = /var/lib/mysql 11 tmpdir    = /tmp 12 lc-messages-dir = /usr/share/mysql 13 skip-external-locking 14 character-set-server=utf8 15 collation-server=utf8

MySQL基础 (DML)

痞子三分冷 提交于 2020-01-12 17:06:14
DML语句 DML操作是指对数据库中表记录的操作,主要包括表记录的插入(insert)、更新(update)、删除(delete)和查询(select) 1.插入记录 插入一条记录 insert into --- (field1,field2,....,fieldn) values(value1,value2,....valuen); //指定字段名的方式 insert into --- values(value1,value2,....valuen); // 不用指定字段名称 插入多条记录 insert into --- (field1,field2,....,fieldn) values(r1_value1,r1_value2,....r1_valuen), (r2_value2,r2_value3,..,r2_valuen),...,(rn_value1,rn_value2,..,rn_valuen); insert into --- values(r1_value1,r1_value2,....r1_valuen),(r2_value2,r2_value3,..,r2_valuen),..., (rn_value1,rn_value2,..,rn_valuen); 2.更新记录 更新一张表 update --- set field1=value1,field2=value2

MySQL基础知识点大全

守給你的承諾、 提交于 2020-01-11 20:24:35
一、为什么要学习数据库 二、数据库的相关概念 DBMS、DB、SQL 三、数据库存储数据的特点 四、初始MySQL MySQL产品的介绍 MySQL产品的安装 ★ MySQL服务的启动和停止 ★ MySQL服务的登录和退出 ★ MySQL的常见命令和语法规范 五、DQL语言的学习 ★ 基础查询 ★ 条件查询 ★ 排序查询 ★ 常见函数 ★ 分组函数 ★ 分组查询 ★ 连接查询 ★ 子查询 √ 分页查询 ★ union联合查询 √ 六、DML语言的学习 ★ 插入语句 修改语句 删除语句 七、DDL语言的学习 库和表的管理 √ 常见数据类型介绍 √ 常见约束 √ 八、TCL语言的学习 事务和事务处理 九、视图的讲解 √ 十、变量 十一、存储过程和函数 十二、流程控制结构 数据库的好处 1.持久化数据到本地 2.可以实现结构化查询,方便管理 数据库相关概念 1、DB:数据库,保存一组有组织的数据的容器 2、DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据 3、SQL:结构化查询语言,用于和DBMS通信的语言 数据库存储数据的特点 1、将数据放到表中,表再放到库中 2、一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性。 3、表具有一些特性,这些特性定义了数据在表中如何存储,类似java中 “类”的设计。 4、表由列组成,我们也称为字段

寒假日记-第二天(MySQL语句)

╄→尐↘猪︶ㄣ 提交于 2020-01-11 17:44:11
mysql语句: DDL(操作数据库和表): 1.操作数据库 显示数据库 show databases; #判断是否存在数据库wpj1105,有的话先删除 drop database if exists wpj1105; #创建数据库 create database wpj1105; #删除数据库 drop database wpj1105; #使用该数据库 use wpj1105; 2.操作数据表 #显示数据库中的表 show tables; #先判断表是否存在,存在先删除 drop table if exists student; #创建表 create table student( id int auto_increment primary key, name varchar(50), sex varchar(20), date varchar(50), content varchar(100) )default charset=utf8; #删除表 drop table student; #查看表的结构 describe student; #可以简写为desc student; DML(增删改表中的数据): 插入数据 insert into student values(null,'aa','男','1988-10-2','......'); insert into

Mysql中的锁机制详解

删除回忆录丶 提交于 2020-01-11 14:33:11
原文: MySQL中的锁(表锁、行锁,共享锁,排它锁,间隙锁) 作者: 唐大麦 锁是计算机协调多个进程或线程并发访问某一资源的机制。 在数据库中,除传统的 计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一 个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。本章我们着重讨论MySQL锁机制 的特点,常见的锁问题,以及解决MySQL锁问题的一些方法或建议。 Mysql用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。这些锁统称为悲观锁(Pessimistic Lock)。 MySQL锁概述 相对其他数据库而言,MySQL的锁机制比较简单,其最 显著的特点是不同的存储引擎支持不同的锁机制。比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-level locking),但也支持表级锁;InnoDB存储引擎既支持行级锁(row-level locking),也支持表级锁,但默认情况下是采用行级锁。 表级锁: 开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 行级锁: 开销大,加锁慢;会出现死锁

MYSQL_ 语法 13 -----CREATE TRIGGER (15)

你。 提交于 2020-01-11 01:26:29
触发器 MySQL 数据库中触发器是一个特殊的存储过程,不同的是执行存储过程要使用 CALL 语句来调用,而触发器的执行不需要使用 CALL 语句来调用,也不需要手工启动,只要一个预定义的事件发生就会被 MySQL自动调用。 引发触发器执行的事件一般如下: 增加一条学生记录时,会自动检查年龄是否符合范围要求。 每当删除一条学生信息时,自动删除其成绩表上的对应记录。 每当删除一条数据时,在数据库存档表中保留一个备份副本。 触发程序的优点如下: 触发程序的执行是自动的,当对触发程序相关表的数据做出相应的修改后立即执行。 触发程序可以通过数据库中相关的表层叠修改另外的表。 触发程序可以实施比 FOREIGN KEY 约束、CHECK 约束更为复杂的检查和操作。 触发器与表关系密切,主要用于保护表中的数据。特别是当有多个表具有一定的相互联系的时候,触发器能够让不同的表保持数据的一致性。 在 MySQL 中,只有执行 INSERT、UPDATE 和 DELETE 操作时才能激活触发器。 在实际使用中,MySQL 所支持的触发器有三种:INSERT 触发器、UPDATE 触发器和 DELETE 触发器。 INSERT 触发器 在 INSERT 语句执行之前或之后响应的触发器。 使用 INSERT 触发器需要注意以下几点: 在 INSERT 触发器代码内,可引用一个名为 NEW(不区分大小写