mysql update语句

MYSQL学习笔记——常用语句

倖福魔咒の 提交于 2020-02-08 10:32:49
1、检索数据 1.1、检索单个列:SELECT prod_name FROM products; 1.2、检索多个列:SELECT prod_id, prod_name, prod_price FROM products; 1.3、检索所有列:SELECT * FROM products; 1.4、检索不同的行:SELECT DISTINCT vend_id FROM products; 1.5、限制结果:SELECT prod_name FROM products LIMIT 5; SELECT prod_name FROM products LIMIT 3,4; //表示返回从行3开始的4行 注意,检索出来的第一行是行0,而不是行1。 2、检索排序数据 2.1、排序数据:SELECT prod_name FROM products ORDER BY prod_name; 2.2、按多个列排序:SELECT prod_id, prod_price, prod_name FROM products ORDER BY prod_price, prod_name; 2.3、指定排序方向:SELECT prod_id, prod_price, prod_name FROM products ORDER BY prod_price DESC; 多个列排序:SELECT prod_id,

**MySQL锁机制与用法分析**

柔情痞子 提交于 2020-02-08 10:14:21
原文: https://www.jb51.net/article/139113.htm MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。比如,MyISAM和MEMORY存储引擎采用的是表级锁;BDB存储引擎采用的是页面锁,但也支持表级锁;InnoDB存储引擎既支持行级锁,也支持表级锁,但默认情况下采用行级锁。 MySQL这3种锁的特性可大致归纳如下: (1)表级锁 :开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 (2)行级锁 :开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 (3)页面锁 :开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。 仅从锁的角度来说,表级锁更适合于以查询为主,只有少量按索引条件更新数据的应用,如Web应用;而行级锁则更适合于有大量按索引条件并发更新少量不同数据,同时又有并发查询的应用,如一些在线事务处理系统。 一、MyISAM表锁 1. 查询表级锁争用情况 show status like 'table%'; 如果table_locks_waited 的值比较高,则说明存在着比较严重的表级锁争用情况。 2. MySQL表级锁的锁模式 MySQL 的表级锁有两种模式:表共享读锁和表独占写锁。 当一个session对某个表加了读锁之后

python批量处理Excel数据

浪子不回头ぞ 提交于 2020-02-08 09:44:43
一、flask代码展示(看代码) # coding=utf-8 from app.common import RET from . import admin from dbConnection.MysqlConn import Mysql from flask import request import xlrd import sys import os from app import util sys.setdefaultencoding('utf8') # 批量分配客户 @admin.route('/admin/xxxxx', methods=['POST']) @util.login_required def xxxxxxx(): data = dict() data['code'] = RET.PARAMERR data['msg'] = u'操作失败' data['info'] = '' redo_li = [] try: header_file = request.files['file'] path = upload(header_file) _data = xlrd.open_workbook(path) table = _data.sheet_by_index(0) # 取sheet1表中的数据 # 依据下标获取特定sheet表 table.nrows #

python使用mysql

橙三吉。 提交于 2020-02-08 04:33:48
昨日内容: 一. 外键的变种 (*************) 唯一索引 unique('name') : 此列是不能重复的 联合唯一索引: unique('name', 'age') : 这两列的值不能重复 一对多 department: id depart_name 1 公关部 2 xxx 部 user: id username depart_id (外键的约束) 1 root 1 2 root2 2 3 root3 1 一对一 看业务的需求 user: id username depart_id (外键的约束) 1 root 1 2 root2 2 3 root3 1 blog: id url user_id (唯一 + 外键约束) 1 /root/ 1 2 /root3/ 3 多对多 user: id username 1 root 2 root2 3 root3 host: id hostname 1 c1.com 2 c2.com 3 c3.com user2host: id uid hid (联合唯一 + 外键) 1 1 1 2 1 2 3 3 1 4 3 3 二. 数据行的详细操作 增: insert into t1 (name, age) values ('lxxx', 12); insert into t1 (name, age) values ('lxxx',

mysql的 视图、触发器、事务、存储过程、函数、索引与慢查询优化

試著忘記壹切 提交于 2020-02-08 04:32:37
视图假设有两张表学生和老师,学生表(sid,name,tid)关联老师表(tid,tname)创建视图的语法: create view 视图名 as SQL语句 实例:create view student2teacher as select * from student inner join teacher on student.tid=teacher.tid; 创建视图后会产生一个名为 student2teacher 的表,可以直接调用。 思考:开发过程中会不会去使用视图? 不会!视图是mysql的功能,如果你的项目里面大量的使用到了视图,那意味着你后期想要扩张某个功能的时候这个功能恰巧又需要对视图进行修改, 意味着你需要先在mysql这边将视图先修改一下,然后再去应用程序中修改对应的sql语句,这就涉及到跨部门沟通的问题,所以通常不会使用视图, 而是通过重新修改sql语句来扩展功能 强调 1、在硬盘中,视图只有表结构文件,没有表数据文件 2、视图通常是用于查询,尽量不要修改视图中的数据 然后说一个关于删除视图的方法 语法:DROP VIEW 视图名称 DROP VIEW student2teacher 触发器 在某张表对数据进行增删改时自动触发的功能称之为触发器 这类行为一旦执行了就会触发触发器的执行,自动运行另一段的sql代码 创建触发器的语法 # 创建两张表create

Atlas-MySQL

我的未来我决定 提交于 2020-02-08 04:29:12
优秀DBA的素质 1 、人品,不做某些事情 2 、严谨,运行命令前深思熟虑,三思而后行,即使是依据select 3 、细心,严格按照步骤一步一步执行,减少出错 4 、心态,遇到灾难,首先要稳住,不慌张,不要受到旁人的影响 5 、熟悉操作系统,Linux系统的工具和命令 6 、熟悉业务 ( 开发 ),编程语言 7 、熟悉行业 8 、喜欢数据库 • 什么是数据? 数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。 • 什么是数据库管理系统? 将大量的数据规范的管理在一起的软件 • 数据库管理系统种类 关系型和非关系型 • 关系型数据库的特点   – 二维表   – 典型产品 Oracle传统企业, MySQL是互联网企业   – 数据存取是通过SQL   – 最大特点,数据安全性方面强(ACID) • NoSQL:非关系型数据库(Not only SQL)   – 不是否定关系型数据库,做关系型数据库的的补充。   – 想做老大,先学会做老二。 RDBMS与NoSQL对比 • web1.0时代   企业提供内容,用户浏览,所以关系型数据库够用,并发并不高,所以不需要NoSQL。 • web2.0时代   核心是企业提供平台,用户参与提供内容。这时关系型数据库无法满足需求了。 • 2003

mysql数据库-进阶-长期维护

雨燕双飞 提交于 2020-02-08 01:49:08
############### 视图 ############## """ 1.视图 视图:是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据 视图有如下特点; 1. 视图的列可以来自不同的表,是表的抽象和逻辑意义上建立的新关系。 2. 视图是由基本表(实表)产生的表(虚表)。 3. 视图的建立和删除不影响基本表。 4. 对视图内容的更新(添加、删除和修改)直接影响基本表。 5. 当视图来自多个基本表时,不允许添加和删除数据。 1.创建视图 create view 视图名称 as sql 查询语句 2.使用视图 select * from 视图名称; 3.更新视图 alter view 视图名称 AS SQL语句 4. 删除视图 drop view ren_view; """ ############### 触发器 ############## """ 2.触发器-trigger 触发器:监视某种情况,并触发某种操作。 触发器创建语法四要素: 1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete) 1.创建触发器语法 create trigger triggerName after/before insert/update

数据的添加更新删除

我怕爱的太早我们不能终老 提交于 2020-02-08 01:10:30
1.添加数据 在添加新记录之前需要先创建一个数据库itcast,创建数据库的SQL语句如下所示: mysql> CREATE DATABASE itcast;Query OK, 1 row affected 选择使用数据库itcast,SQL语句如下: mysql> USE itcast; Database changed 在数据库中创建一个表student1_tb用于存储学生信息,创建student_tb表的SQL语句如下所示: mysql> CREATE TABLE student1_tb -> ( -> id INT(20) PRIMARY KEY, -> name VARCHAR(20) NOT NULL, -> sex VARCHAR(10) UNIQUE, -> grade FLOAT -> ); Query OK, 0 rows affected 查看student1_tb中的内容 mysql> DESCRIBE student1_tb; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | id |

数据的添加、更新、删除

梦想的初衷 提交于 2020-02-08 01:00:18
一、添加数据 在添加新记录之前需要先创建一个数据库itcast,创建数据库的SQL语句如下所示: mysql> CREATE DATABASE itcast;Query OK, 1 row affected 选择使用数据库itcast,SQL语句如下: mysql> USE itcast; Database changed 在数据库中创建一个表student1_tb用于存储学生信息,创建student_tb表的SQL语句如下所示: mysql> CREATE TABLE student1_tb -> ( -> id INT(20) PRIMARY KEY, -> name VARCHAR(20) NOT NULL, -> sex VARCHAR(10) UNIQUE, -> grade FLOAT -> ); Query OK, 0 rows affected 查看student1_tb中的内容 mysql> DESCRIBE student1_tb; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | id |

mysql数据库-基础--长期维护

雨燕双飞 提交于 2020-02-08 00:25:44
############### 数据库 ############## 主要是通过这个学习到什么? 1,库的操作 2,表的操作,包括查询,多表查询,子查询 3,视图,事务,索引,锁, ############### 数据库操作 ############## """ 数据库操作: 1.创建数据库 #创建一个名字为 db_name 的数据库,并指定当前库的编码集为utf8 CREATE DATABASE db_name charset utf8; 2.查看数据库 #查询当前用户下所有数据库 show databases; 3.选择数据库 USE db_name; 4.删除数据库 DROP DATABASE db_name; """ ############### 表操作 ############## """ 表操作: 1,创建表: 语法: CREATE TABLE 表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型[(宽度) 约束条件] )ENGINE=innodb DEFAULT CHARSET utf8; 实例: create table student( id int not null auto_increment primary key, name varchar(250) not null, age int not null,