菜鸟的MySQL学习笔记,运算符与函数

SELECT store,store+1,store-1,store/2,store*2,store%2 FROM bookinfo;//加减乘除取余

SELECT * FROM readerinfo WHERE balance>200//余额大于200

SELECT * FROM readerinfo WHERE balance<>200//余额不等于200

SELECT * FROM readerinfo WHERE age IS NOT NULL//年龄不为空

SELECT * FROM readerinfo WHERE balance BETWEEN 200 AND 300//余额200到300

SELECT * FROM readerinfo WHERE NAME IN ('zhangfei','guanyu','liubei')//查询这几个读者的信息

SELECT * FROM readerinfo WHERE NAME LIKE '张_'//名字是两个字,第一个字是张

SELECT * FROM readerinfo WHERE WHERE tel LIKE '135%';//手机号为135开头的

//and与,or或,not非

SELECT * FROM readerinfo WHERE price NOT BETWEEN 50 AND 100//不在50到100之间的

//各种函数

SELECT CEIL(28.55)//29向上取整

SELECT FLOOR(28.55)//28

SELECT ROUND(28.55)//29 四舍五入

SELECT ROUND(28.55,1),ROUND(28.55,0),ROUND(28055,-1);//28.6  29  90(x,y)返回最接近x的数,保留小数点y位

SELECT TRUNCATE(28.55,1),TRUNCATE(28.55,0),TRUNCATE(28.55,-1);//28.5  28  20截断函数

SELECT MOD(11,2)//1  (X,Y)x被y处后的余数

SELECT * FROM bookinfo WHERE MOD(book_id,2)=0;//图书编号为偶数的

SELECT CONCAT('-','hello','word');//连接函数,第一个参数为连接符,不加为空.结果为hello-word

SELECT LOWER('helloWord');//

SELECT UPPER('helloWord');//大小写转换

SELECT LENGTH('xxx');//长度

LTRIM(s),RTRIM(s),TRIM(s)//删除左侧,右侧,两侧空格

SELECT LEFT('helloworld',5)//hello

SELECT RIGHT('helloworld',5)//world

SELECT REPLACE(str,from_str,to_str)//替换函数

SELECT FORMAT(1234.5678,2),FORMAT(1234.5,2),FORMAT(1234.5678,0)//1234.57  1234.50  1235

SELECT CURDATE();//2018-06-19返回当前日期,最后+0则为20180619

SELECT CURTIME();//当前时间

SELECT NOW();//当前日期和时间

SELECT DATE_ADD('2018-06-19',INTERVAL 5 MONTH)//2018-11-19

SELECT DATEDIFF('2017-02-01','2017-01-01');//间隔天数

//实例表为图书标号,身份证好,借书日期,归还日期,是否归还插入信息

INSERT INTO borrowinfo VALUES(20150301,'11111111111111',CURDATE(),DATE_ADD(CURDATE(),INTERVAL 1 motnth),'no');

UPDATE bookinfo SET store=store-1 WHERE book_id=20150301;

UPDATE readerinfo SET balance=balance-69*0.05 WHERE card_id='11111111111111';

SELECT AVG(price) FROM bookinfo//所有图书的平均价格

SELECT SUM(price) FROM bookinfo//总价格

SELECT MAX(price) FROM bookinfo

SELECT MIN(price) FROM bookinfo

SELECT book_category AS '图书类别' ,COUNT(book_id) AS '图书种类' ,SUM(store) AS '库存总和' FROM bookinfo GROUP BY book_category_id;

//按类别分组查询每种类别下有多少中图书以及每种类别图书的库存总和。as为起个别名

SELECT VERSION();//当前服务器版本号

SELECT CONNECTION_ID();//连接次数

SELECT DATABASE();//当前数据库名

SELECT USER();//当前用户名

//MD5加密方式,介绍为下面补图

CREATE TABLE myuesr(
    username VARCHAR(20),
    passwordd VARCHAR(20)
);
INSERT INTO myuser VALUES('usel',MD5('pwd1'));//表中密码信息被MD5加密

SELECT * FROM myuesr//这样是看不到的

SELECT * FROM myuser WHERE username = 'usel' AND passwordd=MD5('pwd1');//要通过这样知道,如果查找到了说明密码正确

SET PASSWORD =PASSWORD('xxxxx');//通过password修改密码,这也是加密后的

SELECT SUBSTRING("hello world',1,5);//hello
SELECT SUBSTRING("hello world',-3,2);//截断字符串 rl

字符函数 
(壹)CONCAT():字符连接 
SELECT CONCAT(‘IMOOC’,’-‘,’MySQL’);//IMOOC-MySQL 
SELECT CONCAT (first_name,last_name) AS fullname FROM test; 
(2)CONCAT_WS():使用内定的相间符进行字符连接,(第四个地方钦赐分隔符,后边的为划分的内容) 
SELECT CONCAT_WS(‘%’,’abc’,’def’); //第11个是点名的相间符;//abc%def 
(三)FO昂科威MAT():数字格式化 
SELECT FO中华VMAT(123560.7五,二);
//1二三,560.75;第3个参数若为0(四舍5入),展现整数 
(四)LOWE科雷傲():转化小写 
(五)UPPE纳瓦拉():转换大写 
SELECT UPPER(‘mysql’);//MYSQL 
(6)LEFT():获取左边字符 
(柒)凯雷德IGHT():获取左侧字符 
SELECT LEFT (‘MYSQL’,2); //MY 
SELECT LOWEMurano(LEFT(‘mYsql’,2)); //函数嵌套;//my 
(8)LENGTH():取得字符串长度 
LENGTH(‘MYSQL ’);//陆;最终加了个空格 
(九)LT宝马7系IM():清空字符串前边(左端)空格 
(十)本田CR-VT猎豹CS陆IM():清空字符串末尾(右端)空格 
(1一)T兰德酷路泽IM():删除前导、后续空格也许钦点字符 
SELECT TRIM(’ MySQL ‘); 
SELECT T昂CoraIM(LEADING ‘?’ FROM ‘??MYSQL???’); //删除前导? 
SELECT TLX570IM(TRAILING ‘?’ FROM ‘??MYSQL???’); //删除后续? 
SELECT T中华VIM(BOTH ‘?’ FROM ‘??MYSQL???’);
//前后均删除,但不可能去除中间的? 
(12)REPLACE():替换 
SELECT REPLACE(‘MY???SQL’,’?’,”); //将问号换来空白,即去掉? 
SELECT REPLACE(‘MY???SQL’,’?’,’~~’); //能够将n个?换来m个组合符号 
(1三)SUBSTLacrosseING():字符串截取(从1开端,编程里可能从0开头) 
SELECT SUBST普拉多ING(‘mYSQL’,壹,二);
//从字符串中的第叁个地方上马截取3个字符mY 
SELECT SUBSTEnclaveING(‘mYSQL’,三); //SQL 从第3的地点上马截取到截止 
SELECT SUBSTCRUISERING(‘mYSQL’,-2); //QL 从尾数第三位开端截取到停止 
SELECT SUBST汉兰达ING(‘mYSQL’,-三,-1);
//F,长度不能够是负的,然则有个别编制程序语言辅助,而mysql不援救 
(14)[NOT] LIKE:形式相称(百分号%代表私行个字符;
下划线_意味着专断1个字符
) 
例子:”tom%” 
SELECT * FROM test WHERE first_name LIKE ‘%壹%%’ ESCAPE ‘一’; //
去除’1’后边的编写翻译,查找包括’%’符号的音信 ‘_’任意一个字符

一.表操作(增加和删除查改)

  1. 查看库上面包车型地铁全体表: show
    tables;
  2. 删除表: drop table 表名;
  3. 修改表名: alter table
    表名 rename [to] 新表名;
  4. 清空表数据: truncate 表名;
  5. 查看表结构:desc 表名;

truncate 与 delete
truncate也正是删表再重建一张同样结构的表,操作后得到一张全新表.
而delete是从删除全数的层面来操作的.
Trucate也正是把旧的表扔了重画一张,
Delete也正是用橡皮把学籍表的数据库擦掉.
借使决定全清空的下,truncate速度更加快一些.

注意:
一.成立库、表名是绝不使用mysql关键字大概保留字;
二.使用mysql时出现中文乱码,创表时加入character set utf8;
叁.一般不引入应用中文数据库;

MySQL中的运算符和函数:

先补一张日期函数格式化的图

 

将数据装入表中

一, insert 插入表内容
一.一 不点名字段,必须钦点全部字段的值
INSERT INTO employees
VALUES (12, ‘Mary’, 18, ‘男’, ‘2017-10-11’, ‘2017-11-11’, ‘job’, 5500,
‘备注’);

一.二 插入钦定字段的数量
INSERT INTO employees (id, NAME, age, sex)
VALUES(14, ‘李五’, NULL ,
‘女’);

壹.三三遍插入多条数据
INSERT INTO employees (id, NAME, age, sex) VALUES(15, ‘李五’, 19 ,
‘女’),(16, ‘李六’, 20 , ‘男’);

二, 加载文本文件内容到表中

文本文件内容要安分守纪表定义的品种填写,每行李包裹括一个记录,
用定位符(tab)把值分开,能够使用NULL值。为了在文件文件中意味着这个剧情,使用\N(反斜线,字母N)。
mysql> LOAD DATA LOCAL INFILE ‘/path/pet.txt’ INTO TABLE
pet;

请小心假使用Windows中的编辑器(使用\r\n做为行的甘休符)成立文件,应使用:
mysql> LOAD DATA LOCAL INFILE ‘/path/pet.txt’ INTO TABLE pet
-> LINES TERMINATED BY
‘\r\n’;

一、字符函数;

997755.com澳门葡京 1

 

修改表头 alter用法

1:删除列
ALTER TABLE 【表名】 DROP
【列名】

2:增加列
ALTEXC60 TABLE 【表名】 ADD 【列名】 INT NOT NULL COMMENT
‘注释表明’

三:插入列 在已有列后边插入新列
ALTECRUISER TABLE 【表名】 ADD 【插入新列】 INT AFTEBMWX三【已有列名】;

三:修改列的类型消息
ALTE帕杰罗 TABLE 【表名】 CHANGE
【列名】【新列名(那里能够用和原先列同名即可)】 BIGINT NOT NULL COMMENT
‘注释表达’

四:重命名列
ALTE奥迪Q5 TABLE 【表名】 CHANGE 【列名】【新列名】 BIGINT NOT NULL COMMENT
‘注释表达’

5:重命名表
ALTER TABLE 【表名】 RENAME
【表新名】

陆:删除表中主键
Alter TABLE 【表名】 drop primary
key

七:添加主键
ALTER TABLE 【表名】 ADD CONSTRAINT PK_SJ_RESOURCE_CHARGES PRIMARY
KEY (resid,resfromid)

捌: 添加索引
ALTER TABLE 【表名】 add index INDEX_NAME
(name);

玖: 添加唯壹限制条件索引
ALTER TABLE 【表名】 add unique
emp_name2(cardnumber);

十: 删除索引
alter table 【表名】 drop index emp_name;
查看 show

二、数值运算符与函数;

 

数值运算符函数 
SELECT CEIL(3.01) ==>4 /*有n.xx 都以n+一 进①取整 向上取整 
SELECT FLOOR(3.99) ==>3 /*取n.xx 皆以n 舍一取整 向下取整 
SELECT 3 DIV 4 ==> 0 /*平头除法,取商 
SELECT 3/4 ==>0.75 /*除法 
SELECT 2.1 MOD 2 ==>0.1 /*取余数(取模) 被除数是整数,小数都得以 
菜鸟的MySQL学习笔记,运算符与函数。SELECT 21 % 2 ==>1 /*取余数 mod=% 
SELECT POWER(3,4) ==>81 /*3的4次方 幂运算 
SELECT ROUND(3.1415926,4) ==>3.1416 /*4舍伍入,保留二位小数 
SELECT TRUNCATE(123.89,1) ==>123.8 /*截取小数点后的位数 
SELECT TRUNCATE(123.89,0) ==>123
/*截取小数点后的岗位,0位为整数有的 
SELECT TRUNCATE(123.89,-1) ==>120
/*截取-一,从个位起去掉前边的数值替换为0

翻开表语句

一: 查看创设表的口舌
show create table temp
2: 查看表
show tables;
查询 select

1: 查询全体字段内容
SELECT * FROM temp;

贰: 查询钦点字段内容
SELECT id, NAME FROM temp;

三: 去除重复
SELECT DISTINCT job FROM temp;

只改变查询内容,不改动原先表中的数目
4: 查询运算
SELECT salary*10 FROM temp;

5: 取别名
SELECT NAME AS ‘名字’ FROM temp;
SELECT salary + 1000 , salary AS ‘工资’ FROM
temp;

叁、比较运算符与函数;

接下来是函数加密

相比较运算符和函数 
[NOT]BETWEEN…AND…[不]在界定以内,结果重返一或0。 
例如:15 BETWEEN 10 AND 16; //1。 
[NOT]IN()列出值选项。 
例如:SELECT 10 IN(5,10,25); //1。 
IS [NOT] NULL:只有NULL IS [NOT]
NULL重返一,其余情况(包罗”,0)都重临0。

基准查询 where

1: 使用where 实行 条件查询
SELECT NAME FROM temp WHERE NAME = ‘李四’;
SELECT NAME,salary FROM temp WHERE salary >
500;

2: 不等于
SELECT id,NAME,salary FROM temp WHERE id != 500;
SELECT id,NAME,salary FROM temp WHERE id <>
500;

三: 区间查询
SELECT id, NAME FROM book WHERE id BETWEEN 3 AND
7; //查询id在 三 至 7之内的情节

肆: 展现多少个新闻
SELECT id, NAME FROM temp WHERE id
IN(2,4);

5: 模糊查询
SELECT id, NAME FROM temp WHERE NAME LIKE ‘%李%’; //三个或多少个字符
SELECT id, NAME FROM temp WHERE NAME LIKE ‘‘;
//二个字符

陆: 判断是或不是为空 null相比较新鲜,不可能选择 = != 来判定
SELECT id, NAME FROM temp WHERE NAME IS NOT
NULL;

7: 多少个条件还要创制 与
SELECT id, NAME, salary FROM temp WHERE NAME IS NOT NULL AND salary =
200;

捌: 四个标准化任1/10立 或
SELECT id, NAME, salary FROM temp WHERE NAME IS NOT NULL OR salary =
200;

九: 七个标准不创制 非
SELECT id, NAME, salary FROM temp WHERE NOT(salary =
200);

四、日期时间函数;

997755.com澳门葡京 2

 

排序 ORDER BY

1: 使用 O凯雷德DEEvoque BY 对查询结果开始展览排序,asc升序,desc降序,暗中同意asc升序
SELECT id,NAME,sex,salary FROM temp ORDER BY salary
DESC;

2: 排序的列名,能够是select语句钦定的别称 (字符串去掉引号)
SELECT id,NAME AS 姓名,sex,salary FROM temp ORDER BY 姓名
DESC;

三: 还足以用where条件选取排序内容 O凯雷德DE奇骏 BY 要放前边
SELECT id,NAME AS 姓名,sex,salary FROM temp WHERE id >= 3 ORDER BY
姓名 DESC;

5、音讯函数;

 

日牛时间函数 
(一)SELECT NOW(); // 当明日期时间。 
(二)SELECT CU福睿斯DATE(); // 当今日子。 
(三)SELECT CU途观TIME(); // 当前光阴。 
(4)SELECT DATE_ADD(‘2014-3-12’,INTERVAL [-]3陆伍 DAY); //
2015-03-1二,DAY还足以替换为WEEK,MONTH,YEA途乐等。DATE_ADD不是扩张的意味,是变化,既能够追加,也足以减小。 
(5)DATEDIFF(); // 日期的差值。 
DATEDIFF(‘20一叁-三-12’,’201四-三-1二’); // -3六5 日期差值。 
(6)DATE_FOLacrosseMAT(); // 日期格式化。 
SELECT DATE_FO中华VMAT(‘201肆-3-贰’,’%m%d%Y’); //
03/02/201肆(’%’带有前导0作用)。

排序

按 salary 排序

997755.com澳门葡京 3

image.png

SELECT id,salary FROM employee ORDER BY salary ASC;
按 salary 升序排序

997755.com澳门葡京 4

image.png

SELECT id,salary FROM employee ORDER BY id DESC;
按 id 降序排序

997755.com澳门葡京 5

image.png

陆、聚合函数;

SELECT store,store+1,store-1,store/2,store*二,store%2 FROM
bookinfo;//加减乘除取余
SELECT * FROM readerinfo WHERE balance>200//余额大于200
SELECT * FROM readerinfo WHERE balance<>200//余额不对等200
SELECT * FROM readerinfo WHERE age IS NOT NULL//年龄不为空
SELECT * FROM readerinfo WHERE balance BETWEEN 200 AND
300//余额200到300
SELECT * FROM readerinfo WHERE NAME IN
(‘zhangfei’,’guanyu’,’liubei’)//查询这个读者的音讯
SELECT * FROM readerinfo WHERE NAME LIKE
‘张_’//名字是三个字,第三个字是张
SELECT * FROM readerinfo WHERE WHERE tel LIKE
‘135%’;//手提式有线电话机号为135始发的
//and与,or或,not非
SELECT * FROM readerinfo WHERE price NOT BETWEEN 50 AND
100//不在50到100之间的
//各类函数
SELECT CEIL(2⑧.5伍)//2九向上取整
SELECT FLOOR(28.55)//28
SELECT ROUND(2捌.5伍)//2九 四舍5入
SELECT ROUND(2八.55,一),ROUND(28.5五,0),ROUND(2805伍,-壹);//2八.陆 29
90(x,y)重返最接近x的数,保留小数点y位
SELECT TRUNCATE(2八.5伍,一),TRUNCATE(2八.5五,0),TRUNCATE(2八.55,-1);//2捌.5 28
20截断函数
SELECT MOD(11,二)//1 (X,Y)x被y处后的余数
SELECT * FROM bookinfo WHERE MOD(book_id,2)=0;//图书编号为偶数的
SELECT
CONCAT(‘-‘,’hello’,’word’);//连接函数,第2个参数为连接符,不加为空.结果为hello-word
SELECT LOWER(‘helloWord’);//
SELECT UPPE奥德赛(‘helloWord’);//大小写转换
SELECT LENGTH(‘xxx’);//长度
LTPAJEROIM(s),猎豹CS陆TLX570IM(s),THavalIM(s)//删除左边,左侧,两侧空格
SELECT LEFT(‘helloworld’,5)//hello
SELECT RIGHT(‘helloworld’,5)//world
SELECT REPLACE(str,from_str,to_str)//替换函数
SELECT FORMAT(1234.5678,2),FORMAT(1234.5,2),FORMAT(1234.5678,0)//1234.57
1234.50 1235

 

立异表中的剧情 updata 修改表数据

一: 使用updata语句修改表中的数据
UPDATE temp SET salary = 500; //无条件
UPDATE temp SET salary = 400 WHERE NAME =
‘李四’; //带条件

柒、加密函数等;

SELECT CUOdysseyDATE();//2018-06-18遍去超过天子,最终+0则为2018061九
SELECT CU奥迪Q7TIME();//当前光阴
SELECT NOW();//领后天子和岁月
SELECT DATE_ADD(‘2018-06-19’,INTERVAL 5 MONTH)//2018-11-19
SELECT DATEDIFF(‘2017-0二-01′,’2017-0一-0一’);//间隔天数

音讯函数 
SELECT CONNECTION_ID(); ==>2 /*连接ID 
SELECT DATABASE(); /*当前开拓的数额库 
SELECT LAST_INSERT_ID(); /*末段插入的记录
同时写入多条记下是只回去写入的率先条的id。而且表中务须求有自动编号的字段。 
DESC tab_name; /*翻看数据库字段及性能,查看表结构 
SELECT USER(); /* 打字与印刷当前用户新闻 
SELECT VERSION(); /*打字与印刷当前数据库新闻

除去表内容 delete 修改表数据

1: 删除钦定记录 假诺未有where条件就全删了
DELETE FROM temp WHERE id = 5;

 

//实例表为图书标号,身份证好,借书日期,归还日期,是不是归还插入音信
INSERT INTO borrowinfo
VALUES(20150301,’11111111111111′,CURDATE(),DATE_ADD(CURDATE(),INTERVAL
1 motnth),’no’);
UPDATE bookinfo SET store=store-1 WHERE book_id=20150301;
UPDATE readerinfo SET balance=balance-69*0.05 WHERE
card_id=’11111111111111′;

 

函数 COUNT,SUM,AVG, MAX, MIN, GROUP BY, HAVING

一: 总结全体职工id数 COUNT
SELECT COUNT(id) FROM temp;

二: 计算符合条件的职工id数
SELECT COUNT(id) FROM temp WHERE sex =
‘男’;

三: 字段内容为null不纳入计算
SELECT COUNT(id) FROM temp;
SELECT COUNT(NAME) FROM temp;

4: 求和 SUM
SELECT SUM(salary) AS ‘全数职员和工人薪给总和’ FROM temp;
SELECT SUM() FROM temp; //0

五: 求平均值 AVG (null不插足总括)
SELECT AVG(salary) FROM temp;
SELECT AVG(salary) FROM temp WHERE sex =
‘男’;

陆: 求最大值 MAX
SELECT MAX(salary) FROM temp;
SELECT MAX(salary) FROM temp WHERE sex =
‘男’;

7: 求最小值 MIN
SELECT MIN(salary) FROM temp;
SELECT MIN(salary) FROM temp WHERE sex =
‘女’;

八: 分组 GROUP BY 求男女平均薪资
SELECT sex AS ‘性别’, AVG(salary) AS ‘平均薪资’ FROM temp GROUP BY
sex;

玖: 分组 GROUP BY 求男女职员和工人个数
SELECT sex AS ‘性别’, COUNT(sex) AS ‘职员和工人个数’ FROM temp GROUP BY
sex;

拾: 分组过滤 GROUP BY … HAVING 平均贩卖价格低于60的书籍品种
SELECT class AS ‘图书种类’, AVG(price) AS ‘平均出售价格’ FROM book GROUP BY
class HAVING AVG(price) <
60;
字符串函数

壹: 连接字符串
SELECT CONCAT(id,NAME,author) FROM
book;

贰: 连接字符串 加分隔符
SELECT CONCAT_WS(‘ # ‘,id,NAME,author) FROM
book;

3: 计算字符串长度 (依据字节数)
SELECT NAME, LENGTH(NAME) FROM
book;

4: 计算字符串长度 (根据字符数)
SELECT NAME, CHAR_LENGTH(NAME) FROM
book;

伍: 字母转换小写
SELECT NAME, LCASE(NAME) FROM
book;

六: 字母转换大写
SELECT NAME, UPPER(NAME) FROM
book;

七: 去空格以及自定义过滤
SELECT TRIM(‘ abc ‘);
//去首尾空格
SELECT TRIM(BOTH ‘x’ FROM
‘xxxxabcxxxx’); //自定义过滤
去掉首尾
SELECT TRIM(LEADING ‘x’ FROM
‘xxxxabcxxxx’); //自定义过滤
去掉前边
SELECT TRIM(TRAILING ‘x’ FROM
‘xxxxabcxxxx’); //自定义过滤
去掉前边

八: 截取字符串
SELECT
LEFT(‘abcdefg’,5);//左截取
abcde
SELECT RIGHT(‘abcdefg’,3);
//右截取 efg
SELECT
SUBSTRING(‘abcdefg’,2,3);
//中间截取 bcd

九: 替换字符串
SELECT
INSERT(‘abcdefg’,2,3,’123′);
//替换 a123efg

陆-壹、字符函数:

SELECT AVG(price) FROM bookinfo//全体图书的平均价格
SELECT SUM(price) FROM bookinfo//总价格
SELECT MAX(price) FROM bookinfo
SELECT MIN(price) FROM bookinfo
SELECT book_category AS ‘图书品种’ ,COUNT(book_id) AS ‘图书品种’
,SUM(store) AS ‘仓库储存总和’ FROM bookinfo GROUP BY book_category_id;
//按项目分组查询每一个档次下有多少中图书以及每种类别图书的仓库储存总和。as为起各自名

聚合函数 
唯有1个回来值 
AVG() – 平均值 
SELECT ROUND(AVG(goods_price),2) AS avg_price FROM tdb_goods; 
COUNT() – 计数 
SELECT COUNT(goods_id) as counts FROM tdb_goods; 
MAX() – 最大值 
SELECT MAX(goods_price) as counts FROM tdb_goods; 
MIN() – 最小值 
SUM() – 求和 
SELECT SUM(goods_price) as counts FROM tdb_goods;

数值方法

1:四舍伍入
SELECT ROUND(3.14159, 4);
//3.1416
SELECT ROUND(3.54159, 0);
//4
SELECT ROUND(163.456, -2);
//200

2:截取
SELECT TRUNCATE(3.14159, 4);
//3.1415
SELECT TRUNCATE(123.456, -2);
//100

3:取余
SELECT MOD(11, 3); //2

四:向下取整
SELECT FLOOR(44.2); //44

5:向上取整
SELECT CEIL(44.1); //45

CONCAT()                  
  字符连接      

SELECT VEBMWX三SION();//当前服务器版本号
SELECT CONNECTION_ID();//连接次数
SELECT DATABASE();//当前数量库名
SELECT USE普拉多();//当前用户名

 

日期

1: 日期格式转换
SELECT DATE_FORMAT(‘1997-10-04 22:23:00′,’%H %K %I %r %T %S’); // 22 K
10 10:23:00 PM 22:23:00 00
SELECT STR_TO_DATE(’04/31/2004′, ‘%m /%d /%Y’);
//2004-04-31

二: 当前时光
SELECT NOW();//2017-11-28
17:08:15

三: 当前天子
SELECT CURDATE();//2017-11-28

肆: 当前时刻
SELECT CURTIME(); //17:08:58

伍: 当前月最后壹天
SELECT LAST_DAY(NOW());
//2017-11-30

6:重返日期/时间独自部分
SELECT EXTRACT(YEAR FROM
NOW());//2017
SELECT EXTRACT(MONTH FROM
NOW());//11
SELECT EXTRACT(DAY FROM
NOW()); //28

七: 钦定日期/时间 增减
SELECT DATE_ADD(NOW(),INTERVAL 1
YEAR); //增加1年 2018-11-28
17:13:58
SELECT DATE_SUB(NOW(),INTERVAL 1
YEAR); //减少1年 2016-11-28
17:14:52

捌:七个日子相隔天数
SELECT
DATEDIFF(NOW(),’1988-08-28′);//10684

#SELECT
 CONCAT(first_name,last_name) AS fullname FROM name_test;  
从name表中 连接呈现 first last

//MD5加密方法,介绍为上面补图
CREATE TABLE myuesr(
username VARCHAR(20),
passwordd VARCHAR(20)
);
INSELANDT INTO myuser VALUES(‘usel’,MD5(‘pwd壹’));//表中密码音讯被MD五加密
SELECT * FROM myuesr//那样是看不到的
SELECT * FROM myuser WHERE username = ‘usel’ AND
passwordd=MD5(‘pwd1’);//要由此如此敞亮,假诺查找到了注解密码正确

 

空值

一:空值函数
SELECT IFNULL(1/0,
‘yes’);//yes
二:约等于三目运算
SELECT IF(1>2 ,2 ,3);// 3
流程序控制制

1:相当于 java 里的 switch
SELECT
CASE 11
WHEN 1 THEN ‘one’
WHEN 2 THEN ‘two’
WHEN 11 THEN ‘666’
ELSE ‘more’
END;

2:相当于 java 里的 IF ELSE
SELECT
CASE
WHEN 1 < 0
THEN ‘正数’
WHEN 0 = 0
THEN ‘is 0’
ELSE ‘负数’
END;
系统新闻函数

1:获取 MySQL 版本号
SELECT VERSION();

二:服务器的三番五次次数
SELECT CONNECTION_ID();

3:当前数据库名
SELECT DATABASE();

997755.com澳门葡京 ,四:获取用户名的函数 两种办法结果一致
SELECT USER();
SELECT SYSTEM_USER();
SELECT SESSION_USER();
SELECT CURRENT_USER();

5:获取字符集
SELECT CHARSET(NAME) FROM
book;//utf8

CONCAT_WS()            
 使用钦赐的相间符实行字符连接

SET PASSWO凯雷德D =PASSWORubiconD(‘xxxxx’);//通过password修改密码,那也是加密后的

加密函数 
MD伍():音信摘要算法 
select
md五(’admin’);//给admin加密。假如mysql中的音讯是为了web开发做准备,那么尽量选用md5 
password():密码算法 
set password=password(‘123陆’)修改了现阶段登录密码为123陆

加密函数

一: 对用户的密码实行加密,该函数是不可逆的。
SELECT
PASSWORD(‘abc’);//*0D3CED9BEC10A777AEC23CCC353A8C08A633045E;

二: 对普通字符串进行加密,该函数是不可逆的
SELECT
PASSWORD(‘abc’);//*0D3CED9BEC10A777AEC23CCC353A8C08A633045E

三: 加密函数ENCODE(str, pswd_str)
使用pswd_str作为密码,加密str。使用DECODE()解密结果,结果是贰个和str长度相同的字符串。
SELECT ENCODE(‘加密的str’, ‘加密的-p’),
LENGTH(ENCODE(‘要加密的str’,’加密的p’));//

四: 解密函数DECODE(crypt_str,pswd_str)
使用pswd_str作为密码,解密加密字符串crypt_str,crypt_str是由ENCODE()再次来到的字符串。
SELECT DECODE(ENCODE(‘要解密str’,’cry’),
‘解密密码’);//要解密str
5.MD5(str)加密,不可逆。
select md5(‘book’);

#SELECT
CONCAT_WS(‘|’,’A’,’b’,’C’) ;     第一个参数钦定分隔符  结果
A|b|C

SELECT SUBSTRING(“hello world’,1,5);
SELECT SUBSTLX570ING(“hello world’,-3,2);//截断字符串 rl

FOSportageMAT()                  
  数字格式化,再次来到类型为字符型

#SELECT
FORubiconMAT(12560.75,贰);     前边的2 指保留4个人小数

LOWE奥迪Q7()                  
    转换为小写字母  

#SELECT
LOWER(MySQL);    结果为mysql

UPPE昂科雷()                  
     转换为大写字母

LEFT()                    
       获取右侧字符

#SELECT
LEFT(MySQL,2);     结果为 My

PRADOIGHT()                  
      获取右边字符

LENGTH()                  
   获取字符串长度

#SELECT
LENGTH(‘My SQL’)  结果为陆 个中有个空格

LTRubiconIM()                  
      删除前导空格

# SELECT
LENGTH(SELECT LT兰德库罗德IM(‘    MySQL   ‘);)
 总计删除前导空格之后的字符长度

PRADOI奥迪Q伍IM()                  
       删除后续空格

T奥迪Q5IM()                    
      删除前导和继承空格 

#SELECT
T宝马X5IM(LEADING’?’ FROM  ‘???mysql???’) 将?替换掉空格 删除前导和接二连三的?
 但中间的?去不掉

SUBSTLANDING()              
 字符串截取

#SELECT
  SUBSTBMWX3ING(‘MySQL’,1,二)  截取地方第三个,长度为二

#SELECT
  SUBST途乐ING(‘MySQL’,三)     截取第3人以及随后的

#SELECT
  SUBSTTiggoING(‘MySQL’,-一)    截取地点为-一,长度不能够为负数

[NOT] LIKE              
     方式相配

#SELECT
* FROM test WHERE first_name LIKE ‘%壹%%’ ESCAPE ‘一’;  
告诉1后边的%不需求用作通配符相配

REPLACE()                
   字符串替换

#SELECT
REPLACE(‘???My??SQL???’,’?’,’!’);  结果为!!!My!!SQL!!!
将?替换到!,也足以将?替换来空字符串(去空格,去符号)

 

陆-二 数值运算符

CEIL()                    
 进一取整

#SELECT
CEIL(3.01)  结果为4

DIV()                    
  整数除法

#SELECT 3
DIV 4   结果为0 

#SELECT
3/4   结果为0.75

FLOOPAJERO()                
舍一取整

#SELECT
FLOOR(3.01 ) 结果为3

MOD()                  
 取余数(取模)

#SELECT
5.3 MOD 3;  结果为2.3 等价于 5%3

POWER()              
 幂运算

#SELECT
POWER(3,2); 结果为9

ROUND()              
 4舍5入

#SELECT
ROUND(3.132432); 结果为3

TRUNCATE()          
数字截取

#SELECT
TRUNCATE(1二5.8玖,0)  结果为125  截取不做肆舍5入操作

[NOT] BETWEEN … AND
…   (不)在多少与略微之间的界定

[NOT] IN()              
             (不)在列出值的范围内 

IS [NOT] NULL          
           (不)是空吗? 

 

陆-3日子时代函数

NOW()                    
   当前的日期和时间

CU中华VDATE()                
当前的日子

CUCR-VTIME()                
 当前的时光

DATE_ADD()              
日期变动

#SELECT
DATE_ADD(’20一五-三-1二’,INTE福特ExplorerVAL -3陆五 DAY); 日期收缩365天

#SELECT
DATE_ADD(’20一伍-三-1二’,INTE纳瓦拉VAL 三 WEEK);    日期扩充3周

DATEDIFF()                
日期差值

#SELECT
DATEDIFF(’20一三-三-12′,’201四-3-12′); 计算日期的差值

DATE_FO奥迪Q伍MAT()      
 日期格式化

#SELECT DATE_FO锐界MAT(‘201叁-三-1二’,’%m/%d/%Y’);
  把日子格式化为 3/12/20一三

 

陆-肆 音讯函数

CONNECTION_ID()          
    连接ID

DATEBASE()                
         当前数据库

LAST_INSERT_ID()        
        最后插入记录的ID号  多条数据同时插入,只打字与印刷第3条

USETucson()                    
              当前用户

VE奇骏SION()                
           版本音讯 

六-5 聚合函数

AVG()                  
平均值

COUNT()            
 计数

MAX()                
 最大值

MIN()                  
最小值

SUM()                
 求和

陆-六 加密函数

MD5()                    
    消息摘要算法

#SELECT
MD5(‘admin’)

PASSWO帕JeroD()            
密码计算

#关键用来修改密码
 SET PASSWOE奇骏=PASSWOGL450D(‘admin’)  

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website