MySQL-SQL语句怎么根据两个字段或多个字段排序order by

发表于 MySQL 分类,标签: MySQL
ORDERBY  后可加两个或多个字段,用英文逗号隔开。字段1用升序,字段2降序,SQL语句应该如下SELECT*FROMtalbe_nameORDERBYcolumns1,columns2 DESC;也可以这样写,这样写感觉看着更加清楚明了:SELECT*FROMtalbe_nameORDERBY columns1ASC,columns2 DESC;如果都用降序,必须用两个descSELECT*FROMtalbe_nameORDERBY columns1DESC,columns2 DESC;如果有需要使用多个字段同时来进行排序,可以添加多个,记住一定是用英文逗号。欢迎加2000人技术QQ群一起学习探讨linux相关知识:100094104...

MySQL-常用语句语法集锦

发表于 MySQL 分类,标签: MySQL
mysql -u root -pSHOW DATABASES; -- 查看数据库SELECT SCHEMA_NAME FROM information_schema.SCHEMATA;SELECT * FROM information_schema.SCHEMATA;CREATE DATABASE mydb;  -- 创建数据库DROP DATABASES mydb;  -- 删除数据库USE database_name;  --  使用数据库SHOW TABLES;&nbs...

MySQL-触发器

发表于 MySQL 分类,标签: MySQL
-- 触发器-- 在数据库中为响应一个特殊表格中的某些事件而自动执行的程序代码。-- 它是在一个特殊的数据库事件,如INSERT.UPDATE或DELETE发生时,自动激活的一段代码。-- 语法CREATE TRIGGER 触发器名{BEFORE|AFTER}{INSERT|UPDATE|DELETE}ON 表名 FOR EACH ROW 要出发的sql语句;-- 使用别名OLD和NEW,能够引用与处罚程序相关的表中的列。-- OLD.col_name在更新或删除它之前,引用已有行中的一列。-- NEW.col_name在更新它之后引用将要插入的新行的一列或已有行的一列。-- 触发器只能定义...

MySQL-流程控制

发表于 MySQL 分类,标签: MySQL
-- 流程控制-- if语句-- 语法IF 条件表达式 THEN SQL 语句块 [ELSEIF 条件表达式2 THEN SQL 语句块2]... [ELSE SQL 语句块3]END IF;DELIMITER //CREATE PROCEDURE ifdemo(IN param INT)BEGINDECLARE var1 INT;SET var1 = param + 1;IF var1 > 5 THEN...

MySQL-变量的使用

发表于 MySQL 分类,标签: MySQL
-- 变量的定义DECLARE 变量名 [,..] 变量类型 [DEFAULT 值]-- 定义一个局部变量,该变量的作用范围只能在begin......end之中,也可以用在嵌套的块中-- 变量的定义必须卸载符合语句的开头,并且在任何其它语句的前面-- 变量的赋值-- 直接赋值SET 变量名 = 表达式值或者常量名[,....];-- 将查询结果赋值给变量(查询返回的结果只能有一行)SET 列名[,...] INTO 变量名 [,...] FROM 表名 WHERE 条件...-- 用户变量:是由客户端定义的变量。...

MySQL-删除存储过程和函数

发表于 MySQL 分类,标签: MySQL
-- 删除存储过程和函数-- 语法:-- 一次只能删除一个存储过程或者函数DROP {PROCEDURE|FUNCTION} [IF EXISTS] sp_name;DROP PROCEDURE proc1;DROP FUNCTION func1;DROP PROCEDURE IF EXISTS proc1;DROP FUNCTION IF EXISTS func2;...

MySQL-查看存数过程和函数

发表于 MySQL 分类,标签: MySQL
-- 查看存数过程和函数-- 语法:-- 查看存储过程和函数的定义SHOW CREATE {PROCEDURE|FUNCTION} sp_name;SHOW CREATE PROCEDURE proc1;SHOW CREATE FUNCTION func1;-- 查看存储过程和函数的定义SHOW {PROCEDURE|FUNCTION} STATUS [LIKE 'pattern'];SHOW PROCEDURE STATUS LIKE 'proc%';SELECT * FROM infor...

MySQL-自定义函数

发表于 MySQL 分类,标签: MySQL
-- 创建和调用函数-- 创建语法:-- create function 函数名(参数列表) return 返回值类型-- [特性...] 函数体-- 函数的参数形式:参数类型DELIMITER $$CREATE FUNCTION 函数名(参数列表) RETURNS 返回值类型BEGIN-- 有效的SQL语句...END $$DELIMITER ;-- 示例DELIMITER $$CREATE FUNCTION func1(s CHAR(20)) RETURNS CHAR(50...

MySQL-存储过程

发表于 MySQL 分类,标签: MySQL
-- 存储过程和函数介绍-- 存储过程和函数是实现经过编译并存储在数据库中的一段sql语句的集合。-- 存储过程和函数的区别:-- 函数必须有返回值,而存储过程没有。-- 存储过程的参数可以是in,out,inout类型;函数的参数只能是in。-- 存储过程的优点:-- 存储过程只在创建时进行编译,sql语句没执行一次就编译一次,所以使用存储过程可提高数据库执行速度。-- 简化复杂操作,结合事务仪器封装。-- 复用性-- 安全性高,可指定存储过程的使用权。-- 创建和调用存储过程-- 用MySql客户端delimiter命令来把语句定界符从;变为//。这就允许用在程序体中的;定界符被传递到服务器而不是被MySql自己来解...

MySQL-子查询

发表于 MySQL 分类,标签: MySQL
-- 子查询-- 某些情况下,当进行查询的时候,需要的条件是另外一个select语句的结果,这个时候就要用到子查询。-- 为了给主查询(外部查询)提供数据而首先执行的查询(内部查询)被叫做子查询。-- 用于子查询的关键字主要包括:IN,NOT IN,EXISTS,NOT EXISTS,=,>,<,<>等-- 一般说子查询的效率低于连接查询。表连接都可以用子查询替换,但是反过来就不一定--  (就是说连接查询能干的事,子查询全能干,但是子查询能干的事,连接查询不一定能干)SELECT * FROM emp WHERE salary IN (SELECT salary&n...

MySQL-外链接

发表于 MySQL 分类,标签: MySQL
-- 2.外连接-- 语法SELECT ... FROM join_table (LEFT|RIGHT|FULL) [OUTER] JOIN join_table2 ON join_condtion WHERE where_definition-- 不仅列出与连接条件想匹配的行,还列出左表(左外连接)、右表(右外连接)或两个表(全外连接)中所有符合where过滤条件的数据行。-- 外连接分类-- 左外连接(left[outer]join)-- 右外连接(LEFT[OUTER]JOIN)-- 全外连接(FULL[OUTER]JOIN)-- 5.1版本MySql暂时还...

MySQL-内连接

发表于 MySQL 分类,标签: MySQL
-- 1.内连接-- 语法SELECT ... FROM join_table [INNER] JOIN join_table2 [ON join_condition] WHERE where_definition-- 只列出这些连接表中与连接条件相匹配的数据行。SELECT * FROM emp INNER JOIN dept ON emp.dept_id = dept.id;   -- 标准完整写法SELECT * FROM emp,dept WHERE&n...

MySQL-外键

发表于 MySQL 分类,标签: MySQL
CREATE TABLE dept( id INT PRIMARY KEY AUTO_INCREMENT, ren_name VARCHAR(50) NOT NULL, description VARCHAR(100));CREATE TABLE emp( id INT PRIMARY KEY AUTO_INCREMENT, ren_name VARCHAR(50) NOT NULL, gender CHAR(2) NOT NULL, salary&nb...

MySQL-基础日期时间函数

发表于 MySQL 分类,标签: MySQL
SELECT DAYOFWEEK('2015-08-14');  -- 范围1-7,周日=1SELECT DAYOFYEAR('2015-08-14');SELECT DAYOFMONTH('2015-08-14');SELECT DAY('2015-08-14');SELECT DATE_FORMAT('2015-08-01 12:46:11','%H%i%S') a,DATE_FORMAT('2015-08-01 12:46:11','%H:%i:%S') b,DATE_FORMAT('2015-08-01&nbs...

MySQL-字符串处理函数

发表于 MySQL 分类,标签: MySQL
-- 1、CHAR_LENGTH(exp1,exp2) 返回值为字符创的长度,长度的单位为字符,一个汉字也是一个字符。SELECT CHAR_LENGTH('vince_小白');SELECT ren_name,CHAR_LENGTH(ren_name) FROM test_table;-- 2、FORMAT(X,D) 将数字X以四舍五入的方式保留小数点后D位,并将结果以字符创的形式返回。--  D为0,则返回结果不带小数点,或者不含小数部分。SELECT FORMAT(1231321.564564,4);SELECT FORMAT(1231321.564564,5);SELECT FORMAT(1231321.5...