MySQL基礎(chǔ)之?dāng)?shù)據(jù)管理與常用函數(shù)

記錄操作

添加記錄

  • INSERT [INTO] tbl_name[(col_name,...)] {VALUE|VALUES}(VALUES...);
  • 不指定字段名稱 INSERT tbl_name VALUE(value...) 需要按照建表時的字段順序給每一個字段賦值
  • 一次插入多條記錄 INSERT tbl_name[(字段名稱,...)] VALUES(值,...),(值,....),(值,...)0
  • INSERT ... SET的形式 INSERT tbl_name SET 字段名稱=值,...;
  • INSERT ... SELECT INSERT tbl_name[(字段名稱...)] SELECT 字段名稱,... FROM tbl_name [WHERE 條件]

修改記錄

  • UPDATE tbl_name SET 字段名稱 = 值 ,字段名稱 = 值[WHERE條件] 如果不添加條件,整個表中的記錄都會被更新

刪除記錄

  • DELETE FROM tbl_name[WHERE 條件] 如果不添加條件,所有記錄都被刪除
  • DELETE 清空數(shù)據(jù)表時不會重置AUTO_INCREMENT的值,可以通過ALTER語句將其設(shè)置為1 ALTER TABLE tbl_name AUTO_INCREMENT = 1;
  • 徹底清空數(shù)據(jù)表 TRUNCATE [TABLE] tbl_name
    1、清楚表中所有記錄
    2、重置AUTO_INCREMENT的值

查詢記錄

SELECT select_expr,... FROM tbl_name
[WHERE 條件]
[GROUP BY{col_name|position} HAVING 二次篩選]
[ORDER BY{col_name|postion|expr}[ASC|DESC]]
[LIMIT 限制結(jié)果集顯示條數(shù)]

  • 數(shù)據(jù)庫名.表名查詢 select * from mysql.user;
  • 給字段起別名 SELECT 字段名稱 [AS] 別名名稱,... FROM db_name.tbl_name;
  • 給數(shù)據(jù)表起別名 SELECT 字段名稱 ,... FROM tbl_name [AS] 別名;

WHERE條件篩選記錄

  • NULL 查詢要使用<=>或者IS NULL SELECT * FROM user where userDesc<=>NULL;
  • 指定范圍 [NOT]BETWEEN AND
  • 指定集合 [NOT] IN(值,...)
  • 邏輯運(yùn)算符 AND 邏輯與 OR 邏輯或
  • 匹配字符 [NOT]LIKE 一般和通配符一起使用
    1、% 任意長度的字符串
    2、_ 任意一個字符
-- 用戶名長度為三位的用戶(三個下劃線)
SELECT * FROM user WHERE username like '___';

GROUP BY 分組

  • 把值相同放到一個組中,最終查詢出的結(jié)果只會顯示組中的一條記錄
  • 分組配合GROUP_CONCAT()查看組中的某個字段的詳細(xì)信息
-- 按性別分組,查看組中的用戶名有哪些
SELECT GROUP_CONCAT(username),sex FROM user1 
GROUP BY sex;
  • 配合聚合函數(shù)使用
    1、COUNT() 其中COUNT(*)統(tǒng)計(jì)時候包括NULL COUNT(id) 統(tǒng)計(jì)時候不包括NULL的條數(shù)
    2、SUM()
    3、MAX()
    4、MIN()
    5、AVG()
  • 配合WITH ROLLUP關(guān)鍵字使用 顯示總信息
  • HAVING子句對分組結(jié)果進(jìn)行二次篩選
-- 測試查詢操作
CREATE TABLE user1(
id INT UNSIGNED AUTO_INCREMENT KEY,
username VARCHAR(20) NOT NULL UNIQUE COMMENT '編號',
age TINYINT UNSIGNED NOT NULL DEFAULT 18  COMMENT '年齡',
sex ENUM('男','女','保密') NOT NULL DEFAULT '保密' COMMENT '性別',
addr VARCHAR(20) NOT NULL DEFAULT '北京',
married TINYINT(1) NOT NULL DEFAULT 0 COMMENT '0代表未結(jié)婚,1代表已婚',
salary FLOAT(8,2) NOT NULL DEFAULT 0 COMMENT '薪水'
)ENGINE=INNODB CHARSET=UTF8;
INSERT user1 VALUES(1,'king',23,'男','北京',1,50000);
INSERT user1(username,age,sex,addr,married,salary) VALUES('queen',27,'女','上海',0,25000);
INSERT user1 SET username='imooc',age=31,sex='女',addr='北京',salary=40000;
INSERT user1 VALUES(NULL,'張三',38,'男','上海',0,15000),
(NULL,'張三風(fēng)',38,'男','上海',0,15000),
(NULL,'張子怡',39,'女','北京',1,85000),
(NULL,'汪峰',42,'男','深圳',1,95000),
(NULL,'劉德華',58,'男','廣州',0,115000),
(NULL,'吳亦凡',28,'男','北京',0,75000),
(NULL,'奶茶妹',18,'女','北京',1,65000),
(NULL,'劉嘉玲',36,'女','廣州',0,15000);

-- GROUP BY
SELECT * FROM user1 GROUP BY sex;

-- 按性別分組,查看組中的用戶名有哪些
SELECT GROUP_CONCAT(username),sex FROM user1 
GROUP BY sex;

-- 按照sex分組,得到用戶名詳情,并且顯示分組中的總?cè)藬?shù)
SELECT sex,GROUP_CONCAT(username),count(*) AS totalUsers  FROM user1  GROUP BY sex;

-- 按照addr分組,得到用戶名的詳情,總?cè)藬?shù),得到組中年齡的總和,年齡最大值、最小值、平均值
SELECT addr,
GROUP_CONCAT(username) AS userDetail,
COUNT(*) AS totalUser,
SUM(age),
MAX(age),
MIN(age),
AVG(age)
FROM user1
GROUP BY addr;

-- WITH ROLLUP后面跟總條數(shù)
SELECT GROUP_CONCAT(username),
COUNT(*)
FROM user1
GROUP BY sex
WITH ROLLUP;

-- 按照字段位置進(jìn)行分組
SELECT addr,
GROUP_CONCAT(username) AS userDetail,
COUNT(*) AS totalUser,
SUM(age),
MAX(age),
MIN(age),
AVG(age)
FROM user1
GROUP BY 1;

-- 按照addr分組,統(tǒng)計(jì)總?cè)藬?shù)
SELECT COUNT(*),addr,
GROUP_CONCAT(username)
FROM user1
GROUP BY addr;

-- 對于分組結(jié)果進(jìn)行二次篩選,條件是組中總?cè)藬?shù)>=3
SELECT COUNT(*),addr,
GROUP_CONCAT(username)
FROM user1
GROUP BY addr 
HAVING COUNT(*) >=3; 

ORDER BY 實(shí)現(xiàn)排序效果

-- 按照多個字段排序
SELECT id,username,age
FROM user1
ORDER BY age ASC, id ASC;

-- 實(shí)現(xiàn)隨機(jī)記錄
SELECT id,username,age
FROM user1
ORDER BY RAND();

LIMIT限制結(jié)果集的顯示條數(shù)

  • LIMIT 值 :顯示結(jié)果集的前幾條記錄
  • LIMIT offset,row_count 從offset開始,顯示幾條記錄
-- 顯示前3條記錄
SELECT id,username,age
FROM user1
LIMIT 0,3;

-- 顯示接下來的3條
SELECT id,username,age
FROM user1
LIMIT 3,3;

高級操作

多表聯(lián)查

  • 笛卡爾積的形式
  • 內(nèi)連接的形式
    SELECT 字段名稱,... FROM tbl_name1
    INNER JOIN tbl_name2
    ON 連接條件
  • 外連接的形式
    1、左外連接:先顯示左表中的全部記錄,再去右表中查詢復(fù)合條件的記錄,不符合的以NULL代替
    SELECT 字段名稱,... FROM tbl_name1
    LEFT [OUTER] JOIN tbl_name2
    ON 條件;
    2、右外連接:先顯示右表中的全部記錄,再去左表中查詢復(fù)合條件的記錄,不符合的以NULL代替
    SELECT 字段名稱,... FROM tbl_name1
    RIGHT [OUTER] JOIN tbl_name2
    ON 條件;
CREATE DATABASE IF NOT EXISTS test2 DEFAULT CHARACTER SET 'UTF8';
USE test2;
CREATE TABLE emp(
id INT UNSIGNED AUTO_INCREMENT KEY,
username VARCHAR(20) NOT NULL UNIQUE COMMENT '編號',
age TINYINT UNSIGNED NOT NULL DEFAULT 18  COMMENT '年齡',
sex ENUM('男','女','保密') NOT NULL DEFAULT '保密' COMMENT '性別',
addr VARCHAR(20) NOT NULL DEFAULT '北京',
depId TINYINT UNSIGNED NOT NULL COMMENT '部門對應(yīng)的編號'
)ENGINE=INNODB CHARSET=UTF8;

INSERT emp(username,age,depId) VALUES('king',24,1),
('queen',25,2),
('imooc',26,1),
('lily',27,1),
('rose',28,3),
('john',29,3);

INSERT emp(username,age,depId)  VALUES('測試用戶',39,6);

CREATE TABLE dep(
id TINYINT UNSIGNED AUTO_INCREMENT KEY,
depName VARCHAR(50) NOT NULL UNIQUE,
depDesc VARCHAR(100) NOT NULL DEFAULT ''
)ENGINE=INNODB CHARSET=UTF8;
INSERT dep(depName,depDesc) VALUES('PHP教學(xué)部','研發(fā)PHP課件'),
('JAVA教學(xué)部','研發(fā)JAVA課件'),
('WEB前端教學(xué)部','研發(fā)WEB前端課件'),
('IOS教學(xué)部','研發(fā)IOS課件');


-- 查詢 emp id username age  部門名稱 dep depName

SELECT emp.id,emp.username,emp.age,dep.depName FROM emp,dep;

SELECT e.id,e.username,e.age,d.depName
FROM emp AS e
INNER JOIN dep AS d
ON e.depId=d.id;

-- 查詢emp id username age addr dep id depName depDesc
SELECT e.id,e.username,e.age,e.addr,
d.id,d.depName,d.depDesc
FROM dep AS d
JOIN emp AS e
ON d.id=e.depId;

-- 測試左外連接
SELECT e.id,e.username,e.age,d.depName,d.depDesc
FROM emp AS e
LEFT OUTER JOIN dep AS d
ON e.depId=d.id;

-- 測試右外連接
SELECT e.id,e.username,e.age,d.depName,d.depDesc
FROM emp AS e
RIGHT JOIN dep AS d
ON e.depId=d.id;

外鍵約束的使用

  • 只有innodb存儲引擎支持外鍵
  • [CONSTRAINT 外鍵名稱 ]FOREIGN KEY(字段名稱) REFERENCES 主表(字段名稱)
  • 子表的外鍵字段和主表的主鍵字段類型要相似;如果是數(shù)值型要求一致,并且無符號也要一致;如果是字符型,要求類型一致,長度可以不同
  • 如果外鍵字段沒有創(chuàng)建索引,MySQL會自動幫我們添加索引
  • 子表的外鍵關(guān)聯(lián)的必須是父表的主鍵
  • 外鍵約束的參照操作
    1、CASCADE 從父表刪除或更新,子表也跟著刪除或者更新,級聯(lián)的操作
    2、SET NULL 從父表刪除或者更新記錄,并設(shè)置子表的外鍵列為NULL。
    3、NO ACTION | RESTRICT 拒絕對父表做更新或者刪除操作
-- 指定級聯(lián)操作 DELETE CASCADE UPDATE CASCADE 更新父表相關(guān)子表也會更新
ALTER TABLE news
ADD FOREIGN KEY(cateId) REFERENCES news_cate(id)
ON DELETE CASCADE ON UPDATE CASCADE;
-- 添加外鍵名稱

-- 新聞分類表 news_cate
CREATE TABLE news_cate(
id TINYINT UNSIGNED AUTO_INCREMENT KEY,
cateName VARCHAR(50) NOT NULL UNIQUE,
cateDesc VARCHAR(100) NOT NULL DEFAULT ''
)ENGINE=INNODB;

-- 新聞表 news
CREATE TABLE news(
id INT UNSIGNED AUTO_INCREMENT KEY,
title VARCHAR(100) NOT NULL UNIQUE,
content VARCHAR(1000) NOT NULL,
cateId TINYINT UNSIGNED NOT NULL,
FOREIGN KEY(cateId) REFERENCES news_cate(id)
)ENGINE=INNODB;

-- SHOW CREATE TABEL news,自動創(chuàng)建了cateId的索引
| news  | CREATE TABLE `news` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(100) NOT NULL,
  `content` varchar(1000) NOT NULL,
  `cateId` tinyint(3) unsigned NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `title` (`title`),
  KEY `cateId` (`cateId`),
  CONSTRAINT `news_ibfk_1` FOREIGN KEY (`cateId`) REFERENCES `news_cate` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |

-- 測試cateID外鍵對應(yīng)的id不存在,是否可以插入
INSERT INTO news(title,content,cateId) VALUES('A6','SSAW33',45);

-- 測試刪除父表中的記錄,和刪除父表
DELETE FROM news_cate WHERE id =1;

動態(tài)創(chuàng)建和刪除外鍵

-- 動態(tài)刪除外鍵 ALTER TABLE tbl_name DROP FOREIGN KEY fk_name;
-- 動態(tài)添加外鍵
1、 ALTER TABLE tbl_name
[CONSTRAINT 外鍵名稱] ADD FOREIGN KEY(外鍵字段) REFERENCES 主表(主鍵字段);
2、動態(tài)添加外鍵之前表中的記錄一定合法的記錄,沒有臟值,否則外鍵添加不成功

-- 動態(tài)刪除外鍵,刪除了外鍵,當(dāng)初創(chuàng)建外鍵自動產(chǎn)生的索引還在
ALTER TABLE news
DROP FOREIGN KEY news_ibfk_1;

-- 添加外鍵
ALTER TABLE news
ADD FOREIGN KEY (cateId) REFERENCES news_cate(id);

子查詢

  • SELECT 字段名稱 FROM tbl_name WHERE col_name=(SELECT col_name FROM tbl_name)
  • 內(nèi)層語句查詢的結(jié)果可以做為外層語句查詢的條件
  • 由IN引發(fā)的子查詢
  • 由比較運(yùn)算符引出的子查詢
  • 由EXISTS引發(fā)的子查詢
  • 復(fù)制表CREATE TABLE tbl_name LIKE tbl_name;
-- 測試子查詢

-- 測試由IN引發(fā)的子查詢
SELECT *  FROM emp where depId IN(SELECT id from dep);

SELECT *  FROM emp where depId NOT IN(SELECT id from dep);

-- 學(xué)員stu
CREATE TABLE stu(
id TINYINT UNSIGNED AUTO_INCREMENT KEY,
username VARCHAR(20) NOT NULL UNIQUE,
score TINYINT UNSIGNED NOT NULL
);
INSERT stu(username,score) VALUES('king',95),
('queen',75),
('zhangsan',69),
('lisi',78),
('wangwu',87),
('zhaoliu',88),
('tianqi',98),
('ceshi',99),
('tiancai',50);

-- 分?jǐn)?shù)級別level
CREATE TABLE level(
id tinyint UNSIGNED AUTO_INCREMENT KEY,
score TINYINT UNSIGNED COMMENT '分?jǐn)?shù)'
);
INSERT level(score) VALUES(90),(80),(70);

-- 由比較運(yùn)算符引出的子查詢
-- 查詢出成績優(yōu)秀的學(xué)員
SELECT * FROM stu WHERE score >= (SELECT score FROM level where id =1);

-- 由EXISTS引發(fā)的子查詢
SELECT * FROM emp WHERE EXISTS(SELECT depName FROM dep WHERE id = 10);
  • ANY SOME ALL


    圖片.png
-- 帶有ANY SOME ALL關(guān)鍵字的子查詢
SELECT * FROM stu 
WHERE score >= ANY(SELECT score FROM level);

SELECT * FROM stu 
WHERE score >= SOME(SELECT score FROM level);

SELECT * FROM stu 
WHERE score >= ALL(SELECT score FROM level);

聯(lián)合查詢的使用

  • UNION 重復(fù)部分會合并到一起
    SELECT 字段名稱,... FROM tbl_name1
    UNION
    SELECT 字段名稱... FROM tbl_name2;
  • UNION ALL 簡單的合并兩張表的所有數(shù)據(jù)
    SELECT 字段名稱,... FROM tbl_name1
    UNION ALL
    SELECT 字段名稱... FROM tbl_name2;
-- 創(chuàng)建一個user1表,id username
CREATE TABLE user1(
    id INT UNSIGNED AUTO_INCREMENT KEY,
    username VARCHAR(20)
)SELECT id,username FROM emp;

--  將user表中的用戶名寫入到user1表中
INSERT user1(username) SELECT username FROM user;

-- 去掉字段重復(fù)值
SELECT DISTINCT(username) FROM user2;

無限級分類數(shù)據(jù)表的設(shè)計(jì)與實(shí)現(xiàn)

自身連接查詢
-- 測試自身連接
CREATE TABLE cate(
    id SMALLINT UNSIGNED AUTO_INCREMENT KEY,
    cateName VARCHAR(100) NOT NULL UNIQUE,
    pId SMALLINT UNSIGNED NOT NULL DEFAULT 0
);
INSERT cate(cateName,pId) VALUES('服裝',0);
INSERT cate(cateName,pId) VALUES('數(shù)碼',0);
INSERT cate(cateName,pId) VALUES('箱包',0);

INSERT cate(cateName,pId) VALUES('男裝',1);
INSERT cate(cateName,pId) VALUES('女裝',1);
INSERT cate(cateName,pId) VALUES('內(nèi)衣',1);

INSERT cate(cateName,pId) VALUES('電視',2);
INSERT cate(cateName,pId) VALUES('冰箱',2);
INSERT cate(cateName,pId) VALUES('洗衣機(jī)',2);

INSERT cate(cateName,pId) VALUES('愛馬仕',3);
INSERT cate(cateName,pId) VALUES('LV',3);
INSERT cate(cateName,pId) VALUES('GUCCI',3);

INSERT cate(cateName,pId) VALUES('夾克',4);
INSERT cate(cateName,pId) VALUES('襯衫',4);
INSERT cate(cateName,pId) VALUES('褲子',4);

INSERT cate(cateName,pId) VALUES('液晶電視',10);
INSERT cate(cateName,pId) VALUES('等離子電視',10);
INSERT cate(cateName,pId) VALUES('背投電視',10);

-- 查詢所有的分類信息,并且得到其父分類
SELECT s.id ,s.cateName AS sCateName,p.cateName AS pCateName
FROM cate AS s
LEFT JOIN cate AS p
ON s.pId = p.id;

-- 查詢所有分類及其子分類
SELECT p.id ,p.cateName AS pCateName,s.cateName AS sCateName
FROM cate AS s
LEFT JOIN cate AS p
ON s.pId = p.id;



sCate 表
id | cateName        | pId |
+----+-----------------+-----+
|  1 | 服裝            |   0 |
|  2 | 數(shù)碼            |   0 |
|  3 | 玩具            |   0 |
|  4 | 男裝            |   1 |
|  5 | 女裝            |   1 |
|  6 | 內(nèi)衣            |   1 |
| 10 | 電視            |   2 |
| 11 | 冰箱            |   2 |
| 12 | 洗衣機(jī)          |   2 |
| 13 | 愛馬仕          |   3 |
| 14 | LV              |   3 |
| 15 | GUCCI           |   3 |
| 16 | 夾克            |   4 |
| 17 | 襯衫            |   4 |
| 18 | 褲子            |   4 |
| 19 | 液晶電視        |  10 |
| 20 | 等離子電視      |  10 |
| 21 | 背投電視        |  10

pCate
id | cateName        | pId |
+----+-----------------+-----+
|  1 | 服裝            |   0 |
|  2 | 數(shù)碼            |   0 |
|  3 | 玩具            |   0 |
|  4 | 男裝            |   1 |
|  5 | 女裝            |   1 |
|  6 | 內(nèi)衣            |   1 |
| 10 | 電視            |   2 |
| 11 | 冰箱            |   2 |
| 12 | 洗衣機(jī)          |   2 |
| 13 | 愛馬仕          |   3 |
| 14 | LV              |   3 |
| 15 | GUCCI           |   3 |
| 16 | 夾克            |   4 |
| 17 | 襯衫            |   4 |
| 18 | 褲子            |   4 |
| 19 | 液晶電視        |  10 |
| 20 | 等離子電視      |  10 |
| 21 | 背投電視        |  10

MySQL常用函數(shù)

數(shù)學(xué)函數(shù)的使用

  • CEIL() 進(jìn)一取整
  • FLOOR() 舍掉小數(shù)部分
  • ROUND() 四舍五入
  • TRUNCATE() 截取小數(shù)點(diǎn)后幾位
  • MOD() 取余數(shù)
  • ABS() 取絕對值
  • POWER() 冪運(yùn)算
  • PI() 圓周率
  • RAND()或者RAND(X) 0~1之間的隨機(jī)數(shù)
  • SIGN(X) 得到數(shù)字符號
  • EXP(X) 計(jì)算e的x次方

字符串函數(shù)

  • CHAR_LENGTH(); 得到字符串的字符數(shù)
  • LENGTH(); 得到字符串的長度
  • CONCAT(s1,s2,....); 將字符串合并為一個字符串,包含null返回結(jié)果就是null
  • CONCAT_WS(x,s1,s2,....); 以指定分隔符拼接字符串
  • REVERSE() 字符串反轉(zhuǎn)
  • LEFT()|RIGHT(); 返回字符串的前幾個字符或者后幾個字符
  • LPAD()|RPAD();用字符串填充到指定長度
  • TRIM()|LTRIM()|RTRIM() 去掉字符串兩端的空格
  • REPEAT():重復(fù)指定的次數(shù)
  • REPLACE():字符串
  • SUBSTRING();截取字符串SUBSTRING 起始位置從1開始
  • STRCMP();比較字符串,按照ASCII
-- 測試字符串函數(shù)

-- CHAR_LENGTH(); 得到字符串的字符數(shù)
SELECT CHAR_LENGTH('SAHHIA');

-- 以下漢字顯示3個字符
SELECT CHAR_LENGTH('你好啊');

-- LENGTH(); 得到字符串的長度,一個中文在utf-8占3位
SELECT LENGTH('你好啊');

-- CONCAT(s1,s2,....); 將字符串合并為一個字符串
SELECT CONCAT('A','B','C');

-- 有null的情況結(jié)果就為null
SELECT CONCAT('A','B','C',null);

-- CONCAT_WS(x,s1,s2,....); 以指定分隔符拼接字符串
SELECT CONCAT_WS('-','A','B','C');
SELECT CONCAT_WS('-','A','B','C',NULL);
SELECT CONCAT_WS(NULL,'A','B','C');

-- REVERSE() 字符串反轉(zhuǎn)
SELECT REVERSE('ABCDEFG');

--  LEFT()|RIGHT(); 返回字符串的前幾個字符或者后幾個字符
SELECT LEFT('HELLO',2),RIGHT('HELLO',2);

-- LPAD()|RPAD();用字符串填充到指定長度
SELECT LPAD('ABC',10,'?');
SELECT RPAD('ABC',10,'!');

-- 去掉字符串兩端的空格TRIM()|LTRIM()|RTRIM():

SELECT CONCAT('*',TRIM(' abc '),'*'),CONCAT('*',LTRIM(' abc '),'*'),CONCAT('*',RTRIM(' abc '),'*');

-- REPEAT():重復(fù)指定的次數(shù)
SELECT REPEAT('HELLO',4);

-- REPLACE():字符串
SELECT REPLACE('HELLO KING','KING','QUEEN');

-- SUBSTRING();截取字符串SUBSTRING 從1開始截取
SELECT SUBSTRING('ABCDEF',1,4);

-- STRCMP();比較字符串
SELECT STRCMP('A','B');

日期時間常用函數(shù)

  • 返回當(dāng)前日期
    SELECT CURDATE() ,CURRENT_DATE();
  • 返回當(dāng)前時間
    SELECT CURTIME(),CURRENT_TIME();
  • 返回當(dāng)前日期時間
    SELECT NOW(),CURRENT_TIMESTAMP(),SYSDATE();
  • 返回月份、月份名稱
    SELECT MONTH(CURDATE()),MONTHNAME(CURDATE());
  • 返回星期幾
    SELECT DAYNAME(NOW());
  • 返回一周內(nèi)的第幾天
    SELECT DAYOFWEEK(NOW());
  • 返回一年內(nèi)的第多少個星期
    SELECT WEEK(NOW());
  • 返回年月日、小時、分鐘、秒
    SELECT YEAR(NOW()),MONTH(NOW()),DAY(NOW()),HOUR(NOW()),MINUTE(NOW()),SECOND(NOW());
  • DATEDIFF()計(jì)算兩個日期相差的天數(shù)
    SELECT DATEDIFF('2018-10-06','2018-03-02');

其他常用函數(shù)

  • 返回?cái)?shù)據(jù)庫版本
    SELECT VERSION();
  • 返回連接數(shù)
    SELECT CONNECTION_ID();
  • 返回當(dāng)前連接的數(shù)據(jù)庫
    SELECT DATABASE();
  • 返回當(dāng)前用戶
    SELECT USER(),CURRENT_USER(),SYSTEM_USER(),SESSION_USER();
  • 得到上一步插入產(chǎn)生AUTO_INCREMENT的值
    SELECT LAST_INSERT_ID();
  • MD5加密
    SELECT MD5('king');
  • password密碼加密算法
    SELECT PASSWORD('root');
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • MYSQL 基礎(chǔ)知識 1 MySQL數(shù)據(jù)庫概要 2 簡單MySQL環(huán)境 3 數(shù)據(jù)的存儲和獲取 4 MySQL基本操...
    Kingtester閱讀 8,056評論 5 115
  • 觀其大綱 page 01 基礎(chǔ)知識 1 MySQL數(shù)據(jù)庫概要 2 簡單MySQL環(huán)境 3 數(shù)據(jù)的存儲和獲取 4 M...
    周少言閱讀 3,250評論 0 33
  • 鷹的重生。 今天第一次來簡書,給大家分享一個故事,這個故事是我最喜歡的其中之一,借以此用以他來鼓勵我,用簡書書寫自...
    簡女青蓮閱讀 446評論 0 0
  • 1、能繁殖的知識科學(xué)方法論、邏輯科學(xué)、元認(rèn)知,這個概念觸及到了事務(wù)的本質(zhì)2、學(xué)習(xí)的復(fù)利點(diǎn)亮自己的技能數(shù)數(shù)學(xué)、統(tǒng)計(jì)、...
    憤怒的火焰閱讀 166評論 0 0
  • 前調(diào)水果,中調(diào)花朵,后調(diào)檀木。 每一瓶香水都像極了女人的一生。
    trinitylau閱讀 223評論 0 0

友情鏈接更多精彩內(nèi)容