mysql函数

mysql数据库语法学习----5

与世无争的帅哥 提交于 2020-02-12 20:57:19
#排序查询 语法:select 查询列表 from 表名 where 查询条件 order by 排序条件 asc|desc; #按照工资从高到低排序查询员工信息 select * from employees where 1=1 order by salary desc; #按照年薪的高低,显示员工的信息和年薪,【按照表达式进行排序】 select *,salary*(1+ifnull(commission_pct,0)) as '年薪' from employees order by salary*(1+ifnull(commission_pct,0)); #按照年薪的高低,显示员工的信息和年薪,【按照别名进行排序】 select *,salary*(1+ifnull(commission_pct,0)) as '年薪' from employees order by '年薪';--和上面的表达式排序的效果是一样的 #按照员工姓名的长度排序显示员工的姓名和工资【按照函数进行排序】 select LENGTH(last_name),last_name,salary from employees order by LENGTH(last_name) desc; #查询员工信息 要求,先按照工资升序,再按照员工编号降序排列 select * from employees order

MySQL - 操作表数据

耗尽温柔 提交于 2020-02-11 00:46:18
-- 查询 -- 单表查询 -- 查询全部: select * from 表名 -- 别名: select 字段1 别名, 字段2, ... from 表名 -- 连接符: select concat(字符1, 字符2) from dual -- 去重: select distinct 字段 from 表名 -- 排序: select * from 表名 order by 字段名 -- where子句: select * from 表名 where 1=1 -- 函数(max, min, avg, sum, count): select max(字段) from 表名 -- 分组: select * from 表名 group by 字段 -- having: 分组后筛选 -- 多表查询 -- select * from 表1 left join 表2 on 表1.字段 = 表2.字段 -- 子查询 -- select * from (select * from 表名) -- 添加 -- 全部字段插入: insert into 表名 values (值1, 值2, ...); -- 部分字段插入: insert into 表名 (字段1, 字段2, ...) values (值1, 值2, ...); -- 删除 -- delete from 表名 where 字段 = 值 --

MySQL my.cnf详解

你说的曾经没有我的故事 提交于 2020-02-10 12:27:14
1 #*** client options 相关选项 ***# 2 #以下选项会被MySQL客户端应用读取。注意只有MySQL附带的客户端应用程序保证可以读取这段内容。如果你想你自己的MySQL应用程序获取这些值。需要在MySQL客户端库初始化的时候指定这些选项。[client] 3 port = 3306 4 socket = /usr/local/mysql/tmp/mysql.sock 5 [mysqld]!include /usr/local/mysql/etc/mysqld.cnf 6 #包含的配置文件 ,把用户名,密码文件单独存放 7 port = 3306 8 bind-address = 0.0.0.0 9 server-id = 1 10 #表示是本机的序号为1,唯一 11 socket = /usr/local/mysql/tmp/mysql.sock 12 pid-file = /usr/local/mysql/var/mysql.pid 13 basedir = /usr/local/mysql/ 14 datadir = /usr/local/mysql/var/ 15 tmpdir = /usr/local/mysql/tmp/ 16 #此目录被 MySQL用来保存临时文件.例如,它被用来处理基于磁盘的大型排序,和内部排序一样,以及简单的临时表

面试你所要知道的:MySQL存储过程

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

在亚马逊Red Hat 7.1 linux上安装mysql

和自甴很熟 提交于 2020-02-09 04:01:15
安装前检查之前是否安装并卸载之前的和删除关联文件 rpm -qa|grep mysql yum remove mysql mysql-server mysql-libs mysql-common //在线删除 rpm -e mysql57-community-release-el7-9.noarch // 普通删除模式 rm -rf /var/lib/mysql rm /etc/my.cnf 软件卸载完毕后如果需要可以删除mysql的数据库: rm -rf /var/lib/mysql 在线安装方式 1.一开始是通过这个命令来直接安装的: yum install mysql mysql-server mysql-devel 提示: 安装mysql和mysql-devel都成功,但是安装mysql-server失败 解决方式 : 第一种:用*MariaDB*来代替 第二种:就是从官网上下载安装 wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm //下载YUM库 yum localinstall -y mysql57-community-release-el7-7.noarch.rpm //安装YUM库 yum install -y mysql-community-server /

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,

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 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

【Mysql必知必会】读书笔记

我的梦境 提交于 2020-02-07 22:44:08
二刷《Mysql必知必会》,记录一些易错易忽略的知识点,适合当作工具书。 第五章 p31 默认升序,降序desc; 第六章 p38 between...and... 开始值和结束值; 第七章 p42 and 的优先级大于 or; 第八章 p48 where pname like '%' 也不能匹配 用值 NULL 作为产品名的行; 第九章 p67 正则表达式还需要继续学习加强!!! 第十章 p63 concat()函数:拼接字符串; now()函数:获取当前时间; rtrim()函数:去除右边空格; ltrim()函数:去除左边空格; trim()函数:去除左右空格; 第十一章 p69 来源: https://www.cnblogs.com/luruihua/p/12274686.html

mysql存储过程基础

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