mysql update语句

MySQL增删改

…衆ロ難τιáo~ 提交于 2020-02-07 23:37:40
1.插入语句 语法: INSERT INTO [表名] (列名) VALUES (值); INSERT INTO [表名] SET [列名]=[值],[列名]=[值]...; 注意事项: 表中设有非空约束的字段必须赋值 列名个数与顺序需要与值对应 第一种方式可以同时插入多条值,第二种不可以 省略列名时,默认所有字段都赋值 示例 INSERT INTO beauty(name,sex,id,phone) VALUES('小花','女',17,'110'); INSERT INTO beauty VALUES(18,'张飞','男',NULL,'119',NULL,NULL); INSERT INTO beauty SET id=19,NAME='刘柳',phone='999'; INSERT INTO beauty(age,name,sex,id,phone) VALUES(23,'唐艺昕1','女',1,'1898888888') ,(24,'唐艺昕2','女',2,'1898888888'),(25,'唐艺昕3','女',3,'1898888888'); 2.删除语句 语法: DELETE FROM [表名] WHERE [筛选条件]; 示例 DELETE FROM beauty WHERE phone LIKE '%9'; DELETE b FROM beauty b

MySQL学习----(操作数据库 二 )

早过忘川 提交于 2020-02-07 20:01:03
MySQL----(操作数据库 二 ) 1、操作数据库 操作数据库 > 操作数据库中的表 > 操作数据库中表的数据 mysql关键字不分区大小写 1.1 、 操作数据库(了解) 1、创建数据库 CREATE DATABASE [IF NOT EXISTS] westos; 2、删除数据库 1 DROP DATABASE [IF EXISTS] westos 3、使用数据库 -- tab 键的上面,如果你的表名或者字段名是一个特殊字符,就需要带 `` USE `school` 4、查看数据库 SHOW DATABASES -- 查看所有的数据库 对比 : SQLyog 的可视化操作 学习思路: 对照 sqlyog可视化历史记录查看sql 固定的语法或关键字必须要强行记住! 1.2 、 数据库的列类型 数值 tinyint 十分小的数据 1个字节 smallint 较小的数据 2个字节 mediumint 中等大小的数据 3个字节 int 标准的整数 4 个字节 常用的 int bigint 较大的数据 8个字节 float 浮点数 4个字节 double 点数 8个字节 (精度问题!) decimal 字符串形式的浮点数 金融计算的时候,一般是使用decimal 字符串 char 字符串固定大小的 0~255 varchar 可变字符串 0~65535 常用的变量 String

mysql存储过程基础

别说谁变了你拦得住时间么 提交于 2020-02-07 19:23:31
存储过程简介 SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 存储过程是可编程的函数,在数据库中创建并保存,可以由SQL语句和控制结构组成。当想要在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟,它允许控制数据的访问方式。 存储过程的优点: (1). 增强SQL语言的功能和灵活性 :存储过程可以用控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。 (2). 标准组件式编程 :存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。 (3). 较快的执行速度 :如果某一操作包含大量的Transaction-SQL代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化,并且给出最终被存储在系统表中的执行计划。而批处理的Transaction-SQL语句在每次运行时都要进行编译和优化,速度相对要慢一些。 (4).减少网络流量

MySQL事务提交过程(一)

霸气de小男生 提交于 2020-02-07 15:38:18
MySQL作为一种关系型数据库,已被广泛应用到互联网中的诸多项目中。今天我们来讨论下事务的提交过程。 MySQL体系结构 由于mysql插件式存储架构,导致开启binlog后,事务提交实质是二阶段提交,通过两阶段提交,来保证存储引擎和二进制日志的一致。 本文仅讨论binlog未打卡状态下的提交流程,后续会讨论打开binlog选项后的提交逻辑。 测试环境 OS:WIN7 ENGINE: bin-log:off DB: 测试条件 set autocommit=0; -- ---------------------------- -- Table structure for `user` -- ---------------------------- DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(20) NOT NULL, `account` varchar(20) NOT NULL, `name` varchar(20) NOT NULL, PRIMARY KEY (`id`), KEY `id` (`id`) USING BTREE, KEY `name` (`name`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 测试语句 insert into

索引那些事儿----基于Mysql

做~自己de王妃 提交于 2020-02-07 03:38:59
目录 背景 索引 存储引擎 存储引擎种类 MyISAM引擎 InnoDB引擎 索引方式 索引类型 单列索引之普通索引 单列索引之唯一索引 单列索引之主键索引 组合索引 全文索引 空间索引 总结 武汉加油!!! 背景 数据库是什么? 这个问题大家都知道吧, 用来存放数据的, 生活中你在银行中存的金额, 或者一个户籍所中存放的户籍以及个人信息, 在比如一个学校的学生信息等等, 这些都存放在我们的数据库里面. 对不数据库中的数据一般采用一些 DML语句 (insert, update, delete)来进行数据操作. 想要查看数据库里面的数据使用select语句进行数据的查询. 对于数据在数据库里面的存放, 可以简单理解为类似 Excel表格 , 表格里面每一行代表一条数据. 一个 Sheet页 来代表一类数据. 一个例子 现在我们有一张excel表格, 里面存放了一个学校的学生信息, 包含学号, 姓名, 班级,年级等等信息 如果, 如果这张表里面只存放了较少的数据( 几十条, 或者十几条 ), 那现在让你 找到关于张三学生的信息 , 我们便开始从上到下或者从下到上开始浏览每一行数据, 直到找到 张三 , 便完成了数据的查询. 但是, 数据量大了, 这个excel存放了成千上万条数据, 再让你找出来张三, 你还是需要从上到下, 或者从下到上开始找 张三 , 这一次因为数据变多了,

Ubuntu18.4安装MySQL

醉酒当歌 提交于 2020-02-07 02:32:49
原文地址 分类目录 Ubuntu18.4安装MySQL Ubuntu下MySQL可视化工具mysql-workbench的安装和简单使用 MySQL服务命令 Mysql忘记密码 mysql用户操作 SQL语句小结 Linux下彻底卸载MySQL 下载安装apt安装支持, 下载地址 需要登录才能完成下载,选择 打开,通过~~~ 下载完成后直接安装即可 在 Ubuntu 中,默认情况下,只有最新版本的 MySQL 包含在 APT 软件包存储库中,要安装它,只需更新服务器上的包索引并安装默认包 apt 。 $ sudo apt update 安装mysql $ sudo apt install mysql-server 对mysql进行初始化配置 $ sudo mysql_secure_installation 配置说明 我自己做了注释翻译,水平有限,仅供参考 Securing the MySQL server deployment. Connecting to MySQL using a blank password. # 密码验证插件用来检测密码提高安全性,它会检测密码强度要求用户试着足够安全的密码,你是否要启用验证密码插件? VALIDATE PASSWORD PLUGIN can be used to test passwords and improve security. It

三 表操作

懵懂的女人 提交于 2020-02-06 07:15:10
一 存储引擎介绍   一、什么是存储引擎   二、MySQL支持的存储引擎   三、使用存储引擎 二 表介绍、创建及查询 三 数据类型   一、类型介绍   二、数值类型   三、日期类型   四、字符串类型   五、枚举类型与集合类型 四 表完整性约束   一、约束简介   二、not null与default   三、unique   四、primary key   五、auto_increment   六、foreign key 五 修改表ALTER TABLE 六 复制表与删除表 一 存储引擎介绍 一、什么是存储引擎 mysql中建立的库===>文件夹 库中建立的表===>文件 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文本用txt类型,处理表格用excel,处理图片用png等 数据库中的表也应该有不同的类型,表的类型不同,会对应mysql不同的存取机制,表类型又称为存储引擎。 存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方 法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和 操作此表的类型) 在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。而MySql 数据库提供了多种存储引擎

mysql数据库命令

拥有回忆 提交于 2020-02-06 05:19:02
Day01 : select * from SPI; -- 查询 SPI 表中的所有字段 select * from SPI where num>90 -- 语句后面的分号加不加都一样 select componentid from SPI -- 查询表中的一列数据 select DISTINCT componentid from SPI -- 排出本列中的重复数据,只显示一条 select * from SPI where componentid=4 AND num = 90; -- AND 是两个条件必须同时满足即可 select * FROM SPI where num = 100 OR projectid = 10; -- OR 是两个条件满足一个即可 select * from SPI ORDER BY num ASC; -- 按照 num 升序 ( 从小到大 ) 排列,默认就为升序,所以不写也是升序的效果 select * from SPI ORDER BY projectid DESC,num ASC -- 意思是先按照前面的字段降序排列 (projectid) ,然后再升序排列后面字段中的数据 (num) -- 添加数据 Insert into SPI VALUES(095,7,13,110); select * from SPI where supplyid =

mysql简单增删改查(CRUD)

我只是一个虾纸丫 提交于 2020-02-06 03:14:59
先描述一下查看表中所有记录的语句以便查看所做的操作(以下所有语句建议自己敲,不要复制以免出错):     user表,字段有 id, name,age,sex;id为主键,自增,插入时可以写 NULL 或者 DEFAULT;     以下实列都以user表为列;      CREATE TABLE user(   -> id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,     -> name VARCHAR(20),     -> age INT,     -> sex VARCHAR(10)     -> );    SELECT * FROM 表名;列如:SELECT * FROM user;(语句不区分大小写,规范约定为关键字大写,小写也可以,不过尽量遵守规范) 1、插入数据:    (1)INSERT INTO 表名 VALUES(,,,,,); INTO 可省略   则 : INSERT user VALUES(NULL,“张三” ,18,“男”);    此时插入数据必须与字段对应,而且字段不能少   无法插入汉字时,需要修改表的字符集:    ALTER TABLE 表名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;    (2)插入多条记录时,以逗号分隔:    

Mysql批量更新的三种方式

本秂侑毒 提交于 2020-02-06 02:14:54
前言 批量插入由于mysql的VALUES原生支持,使用较为便利。 批量更新的写法一般有三种,在更新数量较少的情况下,前两种性能不相上下。但是在更新字段增加,更新条数较多(500以上)建议使用第三种写法。 常规写法,拼接多个单条更新语句。 CASE...WHEN... 写法 JOIN 写法 Batch Update spring/mybatis/JDBI都支持这种批量更新方式。 这种更新方式需要设置jdbc连接的参数: allowMultiQueries=true # 完整url举例 jdbc.url=jdbc:mysql://localhost:3306/db_name?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true 具体实现以Spring的 JdbcTemplate 为例。 batchUpdate 的主要代码如下图: 首先检查了jdbc连接是否支持批量更新操作,如果 allowMultiQueries 值为 false ,将被拦截。 然后拼接了SQL语句,拼接代码如下: 直接用分号拼接。 CASE WHEN 示例: UPDATE test SET code = ( CASE WHEN id = 1 THEN 11 WHEN id = 2 THEN 22 WHEN id = 3 THEN 33 END )