主頁 > 資料庫 > mysql資料庫技術1——基本的增刪查改的sql陳述句

mysql資料庫技術1——基本的增刪查改的sql陳述句

2020-09-19 12:10:30 資料庫

1、資料庫語言的分類

DDL:資料庫定義語言 data Definition language

用于創建、修改、和洗掉資料庫內的資料結構,如:

1:創建和洗掉資料庫(CREATE DATABASE || DROP DATABASE);

2:創建、修改、重命名、洗掉表(CREATE TABLE || ALTER TABLE|| RENAME TABLE||DROP TABLE,TRUNCATE TABLE);

3:創建和洗掉索引(CREATEINDEX || DROP INDEX)

DML:資料操控語言 data Manipulation language

修改資料庫中的資料,包括插入(INSERT)、更新(UPDATE)和洗掉(DELETE)

DCL:資料控制語言 (管理用戶權限)data Control language

用于對資料庫的訪問,主要包括創建用戶、給用戶授權、對用戶撤銷授權、查詢用戶授權和洗掉用戶等

,如:1.創建用戶(create user)2:給用戶授予訪問權限(GRANT);3:取消用戶訪問權限(REMOKE),4洗掉用戶(drop user),

DQL:資料查詢語言 data Query language

從資料庫中的一個或多個表中查詢資料(SELECT)

下面一一來介紹這四種型別的語言

2、DDL:資料庫定義語言 data Definition language

2.1、創建資料庫,并且以utf8的字符集創建

-- 如果不存在,則創建資料庫,并且以utf的字符集創建
CREATE DATABASE IF NOT EXISTS westos DEFAULT CHARACTER SET = 'utf8'

2.2、如果存在,洗掉資料庫

-- 如果存在,則洗掉資料庫
DROP DATABASE IF EXISTS westos

2.3、使用資料庫

-- 使用資料庫
USE westos

2.4、查看所有的資料庫

-- 查看所有的資料庫
SHOW DATABASES

2.5、查看所有的資料表

-- 查看所有的資料表
SHOW TABLES

2.6、創建表

-- 創建學生表,如果不存在
CREATE TABLE IF NOT EXISTS student (
	`id` INT NOT NULL AUTO_INCREMENT COMMENT '學生表id',
	`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
	`pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密碼',
	`sex` VARCHAR(2) NOT NULL DEFAULT '男' COMMENT '性別',
	`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
	`address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
	`email` VARCHAR(50) DEFAULT NULL COMMENT '郵箱',
	PRIMARY KEY (`id`)
)ENGINE=INNODB DEFAULT CHARSET = 'utf8'

2.7、查看創建資料庫和資料表的陳述句

-- 查看創建資料庫的陳述句
SHOW CREATE DATABASE westos
-- 查看創建資料表的陳述句
SHOW CREATE TABLE student

2.8、查看表的結構

-- 查看表的具體結構
DESC student

3、DQL:資料查詢語言 data Query language

3.1、修改表名

-- 修改表名
ALTER TABLE student RENAME AS teacher

3.2、增加表的欄位

-- 增加表的欄位
ALTER TABLE teacher ADD age INT 

3.3、修改表的欄位

-- 修改表的欄位(重命名,修改約束)
ALTER TABLE teacher MODIFY age VARCHAR(11)	-- 修改約束,不能改欄位名
ALTER TABLE teacher CHANGE age is_del INT 	-- 欄位重命名

3.4、洗掉表的欄位

-- 洗掉表的欄位
ALTER TABLE teacher DROP is_del

3.5、洗掉表

 -- 洗掉表
 DROP TABLE IF EXISTS student

3.6、插入陳述句

 -- 插入陳述句(添加)
 INSERT INTO teacher (`name`) VALUES ('xgp')

3.7、修改陳述句

-- 修改陳述句
UPDATE teacher SET `name`='xgp',sex='女' WHERE id=1

3.8、設定資料庫的時間

-- 設定資料庫的時間
UPDATE `teacher` SET `birthday` = CURRENT_TIME WHERE id=1

3.9、洗掉指定資料

-- 洗掉指定資料
DELETE FROM teacher WHERE id=1

3.10、清空一個資料表

-- 完全清空一個資料庫表,表的結構和索引約束不變,自增會歸零
TRUNCATE TABLE teacher

4、DQL:資料查詢語言 data Query language

4.1、使用別名查詢

-- 查詢(使用別名)
SELECT `name` 姓名,pwd 密碼 FROM teacher 老師表

4.2、拼接字串

-- 函式 拼接字串 Concat(a,b)
SELECT CONCAT('姓名:',`name`) 新名字 FROM teacher

4.3、去重

-- 去重
SELECT DISTINCT `name` FROM teacher 

4.4、查看系統版本

-- 查看系統版本
SELECT VERSION()

4.5、計算結果

-- 計算結果
SELECT 100*3-23 計算結果
SELECT pwd+'1' 密碼加1 FROM teacher

4.6、模糊查詢

-- 模糊查詢
-- like結合 %(代表0到任意個字符) _(代表一個字符)
SELECT `name`,pwd FROM teacher
WHERE `name` LIKE '_g_'

-- in
SELECT id,`name`,pwd FROM teacher
WHERE id IN (4,7,10)

4.7、排序查詢

-- 排序:升序 ASC 降序 DESC
-- order by 通過哪個欄位排序,怎么排
SELECT * FROM teacher ORDER BY id DESC 
SELECT * FROM teacher ORDER BY id ASC 

4.8、分頁查詢

-- 分頁:
SELECT * FROM teacher ORDER BY id DESC LIMIT 2,10

5、常用函式

5.1、數學函式

-- 常用函式
SELECT ABS(-78) -- 絕對值
SELECT CEILING(9.4) -- 向上取整
SELECT FLOOR(9.4) -- 向下取整
SELECT SIGN(-9)	-- 判斷一個數的符號

5.2、字串函式

-- 字串函式
SELECT CHAR_LENGTH('哈哈哈') -- 字串長度
SELECT CONCAT('xgp','aaa')	-- 拼接字串
SELECT INSERT('asa',1,2,'ss')		-- 替換字串
SELECT LOWER('AAAAAAAA')	-- 轉小寫
SELECT UPPER('aaaaaaaa')	-- 轉大寫
SELECT INSTR('aaaaa','a')	-- 回傳第一次出現子串的索引
SELECT REPLACE('aaaa','a','x')	-- 替換字串
SELECT SUBSTR('asasasxsssas',4,6)	-- 截取字串,截取的位置,截取的長度
SELECT REVERSE('aasss') -- 字串反轉

5.3、時間和日期函式

-- 時間和日期函式(獲取當前日期)
SELECT CURRENT_DATE(); -- 獲取當前日期
SELECT CURDATE();	-- 獲取當前日期
SELECT NOW(); -- 獲取當前的時間
SELECT LOCALTIME(); -- 獲取本地時間
SELECT SYSDATE() -- 獲取系統時間

5.4、系統函式

-- 系統
SELECT SYSTEM_USER()
SELECT USER()
SELECT VERSION()

5.5、聚合函式

-- 聚合函式
SELECT COUNT(*) FROM teacher
SELECT COUNT(欄位) FROM teacher	-- 會忽略null值
SELECT COUNT(1) FROM teacher
SELECT COUNT(主鍵) FROM teacher -- 速度更快

SELECT SUM(pwd) 求和 FROM teacher
SELECT AVG(pwd) 平均 FROM teacher
SELECT MAX(pwd) 最高 FROM teacher
SELECT MIN(pwd) 最低 FROM teacher

6、DCL:資料控制語言 (管理用戶權限)data Control

6.1、創建用戶

-- 創建用戶
CREATE USER xgp123 IDENTIFIED BY '123456'

6.2、修改密碼

-- 修改密碼(修改當用戶密碼)
SET PASSWORD = PASSWORD('111111')
-- 修改密碼(修改自定的用戶的密碼)
SET PASSWORD FOR xgp123 = PASSWORD('123456')

6.3、給用戶重命名

-- 給用戶重命名
RENAME USER xgp123 TO xgp

6.4、用戶授權

-- 用戶授權(授予全部的權限,庫,表)
GRANT ALL PRIVILEGES ON *.* TO xgp

6.5、查看指定用戶權限

-- 查看指定用戶權限
SHOW GRANTS FOR xgp

6.6、查看管理員權限

-- 查看管理員權限
SHOW GRANTS FOR root@localhost

6.7、撤銷權限

-- 撤銷權限(撤銷全部權限)
REVOKE ALL PRIVILEGES ON *_* FROM xgp

7、事務

7.1、開啟/和關閉事務的自動提交,mysql默認是開啟的

-- 事務(測驗轉賬)mysql 是默認開啟事務自動提交的
SET autocommit = 0;	-- 先關閉事務提交
SET autocommit = 1;	-- 開啟

7.2、進行手動處理事務

-- 事務開啟
START TRANSACTION -- 標記一個事務的開始

-- 提交
COMMIT

-- 回滾
ROLLBACK

-- 事務結束

-- 了解
SAVEPOINT -- 設定一個事務的保存點
ROLLBACK TO SAVEPOINT 保存點名,會滾到保存點

7.3、通過轉賬案例手動測驗事務

-- 撰寫轉賬案例
CREATE TABLE account (
id INT(3) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(30) NOT NULL,
`money` DECIMAL(9,2) NOT NULL,
PRIMARY KEY (id)
)ENGINE=INNODB DEFAULT CHARSET = 'utf8'

INSERT INTO account(`name`,money) VALUES ('張三',2000.00),('李四',10000.00)

-- 模擬轉賬
SET autocommit = 0;	-- 關閉自動提交
START TRANSACTION; -- 開啟事務
UPDATE account SET money = money - 500 WHERE `name` = '張三';
UPDATE account SET money = money + 500 WHERE `name` = '李四';

COMMIT;	-- 提交事務
ROLLBACK; -- 回滾
SET autocommit = 1;	-- 恢復默認值

8、其他技術

8.1、對資料庫進行備份

命令列執行匯出命令 mysqldump
mysqldump -hlocalhost -uroot -p123456 westos > D:/a.sql

8.2、對資料庫進行匯入

-- 匯入
source sql檔案路徑

8.3、對資料庫進行md5加密

-- 資料庫級別的MD5加密
UPDATE teacher SET pwd = MD5(pwd)
-- 插入時進行加密
INSERT INTO teacher(`name`,pwd) VALUES ('aaa',MD5('123456'))
-- 如何校驗
SELECT * FROM teacher WHERE `name`='aaa' AND pwd = MD5('123456')

9、mysql基礎語法的詳細語法格式檔案

mysql產品的常見命令

1,mysql服務的啟動和停止

方式一:計算機——右鍵管理——服務
方式二:通過管理員身份運行
	net start 服務名(啟動服務)
	net stop 服務名(停止服務)

2,mysql服務的登陸和退出

方式一:通過mysql自帶的客戶端
	只限于root用戶
方式二:通過cmd命令列
	登陸:
		mysql [-h主機名 -P埠號] -u用戶名 -p[密碼]
	退出:
		exit	或者		ctrl+c

3,sql陳述句的基本使用

1.查看當前所有資料庫
	show databases;
2.打開指定庫
	user 庫名
3.查看當前庫的所有表
	show tables;
4.查看其它庫的所有表
	show tables from 庫名;
5.創建表
	create table 表名 (
		列名 列型別,
		列名 列型別,
		...
	);
6.查看表結構
	desc 表名;
7.查看服務器版本
	方式一:登陸到mysql服務端
		select version();
	方式二:沒有登陸到mysql服務端
		mysql --version		或者 	mysql -V
8.注釋
	單行:#注釋文字
		-- 注釋文字
	多行:/*注釋文字*/

DQL語言的學習

階段一:1,基礎查詢

語法:
	select 查詢串列 from 表名;
查詢串列:
	表中的欄位,常量值,運算式,函式
1.查詢表中的單個欄位
	select last_name from employees;
2.查詢表中的多個欄位
	select last_name,salary,email from employees;
3.查詢表中的所有欄位
	select * from employees;

2,其他基礎查詢

1.查詢常量值
	select 100;
	select 'join';
2.查詢運算式
	select 100*98;
	select 100%98;
3.查詢函式
	select version();

3,為欄位起別名

1.方式一:(使用as)
	select 100%98 as 結果;
	select last_name as 姓 from employees;
2.方式二:(使用空格)
	select last_name 姓 from employees;

4,去重(distinct)

1.案例:查詢員工表的所有部門的編號
	select distinct
		department_id
	from
		employees;

5,+號的作用

1.案例:查詢員工名和姓連接成一個欄位,并顯示為 姓名
	錯誤做法:
		select 
			last_name + first_name as 姓名
		from
			employees;
	正確做法:(使用concat()函式)
		select 
			concat(last_name,first_name) as 姓名
		from 
			employees;

6,ifnull()函式的使用

格式:
	ifnull(判斷是否為空的引數,若為慷訓傳的值)
舉例:
	select ifnull(commission_pct,0) as 獎金率;

###階段二:1,條件查詢 語法: select 查詢串列 from 表名 where 篩選條件; 篩選條件: 1.按照條件運算式篩選 條件運算子: > < = .... 案例: select * from employees where salary > 12000; 2.按照邏輯運算子刷選 邏輯運算子: && || ! mysql推薦: and or not 案例: select * from employees where salary > 12000 and salary < 20000; 3.模糊查詢 1.關鍵字:like 特點: 一般和通配符使用 % 任意多個字符,包含0個字符 _ 任意多個字符 案例:查詢員工名中包含字符a的員工資訊 select * from employees where last_name like '%a%'; 特殊案例(需要轉義通配符 escape):查詢員工名中第二個字符為_的員工資訊 select * from employees where last_name like '_$_%' escape '$'; 2.關鍵字:between and 特點: 包含臨界值 案例: select * from employees where salary between 12000 and 20000; 3.關鍵字:in 案例: select * from employees where job_id in ('IT_PROT','AD_VP','AD_PRES'); 4.關鍵字:is null 注意:=號不能判斷null值 案例: select * from employees where commission_pct is null; ###2,兩個特殊符號的介紹(<>,<=>) 1.<>相當于!=,不過mysql更推薦改寫法 2.<=>安全等于,可以判斷null值
###階段三:1,排序查詢 語法: select 查詢條件 from 表 [where 篩選條件] order by 排序串列 [asc|desc] 注意: asc:升序 desc:降序 不寫:默認升序 案例(從高到低 desc): select * from employee order by salary desc; 案例(從低到高 asc): select * from employee order by salary asc; 特殊案列:按姓名的位元組長度顯示員工的姓名和工資(按函式排序 length(last_name)) select length(last_name) 位元組長度,last_name,salary from employees order by length(last_name) desc; ###2,多個欄位排序 1.案例:查詢員工資訊,要求先按工資排序,再按員工編號排序【按多個欄位排序】 select * from employees order by salary asc,employee_id desc;
###階段四:常見函式 1.呼叫:select 函式名(實參串列) [from 表]; 2.分類:單行函式,聚合函式 ###1,字符函式 1.length(字符) 獲取引數值的位元組個數 select length('join'); select length('哈'); 2.concat(引數1,引數2,...) 拼接字串 select concat(last_name,'_',first_name) 姓名 from employees; 3.upper(字符) lower(字符) select upper('dadada'); select lower('HJJJI'); 4.substr(字符,位置1,位置2),substring(字符,位置1,位置2) 截取字符 注意:mysql中索引從1開始 select substr('hduxshdfkjsf',2,6); 5.instr(字符,查找的字符字串) 放回子串第一次出現的索引,如果找不到放回0 select instr('dsfsfd','fs'); 6.trim(字符) 去除前后空格 select length(trim(' 長記性了 ')) as out_put 其他用法:去除前后指定字符 trim(字符 from 字串); select trim('a' from 'aaaaaaaaa或許是第aaaaaacxhddjkhaaaaaaaaa') as out put; 7.lpad(字符,個數,填充字符) 用指定的字符實作左填充指定的長度 select lpad('xgp',2,'*') as out_put; 8.rpad(字符,個數,填充字符) 用指定的字符實作右填充指定的長度 select rpad('xgp',12,'*') as out_put; 9.replace(原字串,要替換字符,替換字符) 替換 select replace('xgp123','xgp','123') as oup_put; ###2,數學函式 1.round(數值,保留幾位小數) 四舍五入 select round(1.65); select round(1.675,2); 2.ceil(數值) 向上取整 select ceil(1.02); 3.floor(數值) 向下取整 select floor(-9.99); 4.truncate(數值,保留幾位小數) 截斷 select truncate(1.66,1); 5.mod(被取余數,取余子) 取余 select mod(-10,-3); ###3,日期函式 1.now() 放回當前系統的日期+時間 select now(); 2.curdate() 放回當前系統日期,不包含時間 select curdate(); 3.curtime() 放回當前系統時間,不包含日期 select curtime(); 4.可以獲取指定的部分,年、月、日、小時、分鐘、秒 select year(now()) 年; 5.str_to_date(格式,字符型別) 將日期格式的字符轉換成指定格式的日期 select str_to_date('1998-3-2','%Y-%c-%d'); 6.date_format(格式,字符型別); 將日期轉換成字符 select date_format(now(),'%y年%m月%d日'); ###4,其他函式 1.select version(); 查看mysql版本 2.select database(); 查看當前資料庫 3.select user(); 查看當前用戶 ###5,流程控制函式 1.if(判斷條件,if結果,else結果)函式 if else 的效果 select if(10>5,'大','小'); 2.case()函式的使用一 case 要判斷的欄位或者運算式 when 常量1 then 要顯示的值1或陳述句1 when 常量2 then 要顯示的值2或陳述句2 when 常量3 then 要顯示的值3或陳述句3 ...... else 要顯示的值n或者陳述句n end
案例:查詢員工工資,要求
	部門號=30,顯示工資為1.1倍
	部門號=40,顯示工資為1.2倍
	部門號=50,顯示工資為1.3倍
	其他部門,顯示為原工資

	SELECT 
		salary 原始工資,department_id ,
	CASE 
		department_id = 30 
	WHEN 30 THEN salary*1.1
	WHEN 40 THEN salary*1.2
	WHEN 50 THEN salary*1.3
	ELSE 
		salary
	END 
		AS 新工資
	FROM 
		employees;
3.case()函式的使用二
	case 
	when 條件1 then 要顯示的值1或陳述句1
	when 條件2 then	要顯示的值2或陳述句2
	......
	else 要顯示的值n或陳述句n
	end

案例:查詢員工的工資的情況
	如果工資>20000,A
	如果工資>15000,B
	如果工資>10000,C
	否則 D

	SELECT salary,
	CASE 
	WHEN salary > 20000 THEN 'A'
	WHEN salary > 15000 THEN 'B'
	WHEN salary > 10000 THEN 'C'
	ELSE 'D'
	END AS 工資級別
	FROM employees;

6,聚合函式

1.sum(欄位) 求和 avg() 平均值 min() 最小值 max() 最大值 count() 計數
	select sum(salary) from employees;
2.特點:
	1.sum(),avg() 支持數值型
		min(),max(),count() 支持任何型別
	2.上述聚合函式都排除了null值
3.和distinct搭配使用
	select count(distinct salary),count(salary) from employees;
4.count() 函式的詳細介紹
	select count(*) from employees;
	select count(1) from employees;
	效率:
		MYISAM存盤引擎下,count(*) 的效率高
		INNODB存盤引擎下,count(*)和count(1)的效率差不多,比count(欄位)要高一些
5.和聚合函式使用,一般都不會帶欄位

###階段五:1,分組查詢 1.語法: select 分組函式,列 (要求出現在group by的后面) from 表 [where 篩選條件] group by 分組的串列 [order by 子句] 2.注意: 查詢串列必須特殊,要求是分組函式和group by后出現的欄位 3.案例1:查詢每個工種的最高工資 select max(salary),job_id from employees group by job_id; ###2,添加分組前篩選 案例1:查詢郵箱中包含a字符的,每個部門的平均工資 select avg(salary),department_id from employees where email like '%a%' group by department_id; 案例2:查詢有獎金的每個領導手下員工的最高工資 select max(salary),manager_id from employees where commission_pct is not null group by manager_id; ###3,添加分組后篩選 1.案例1:查詢哪個部門的員工個數>2 1.查詢每個部門的員工個數 select count(*),department_id from employees group by deparment_id; 2.根據1的結果,查詢哪個部門的員工數>2 select count(*),department_id from employees group by deparment_id; having count(*)>2; 2.案例2:查詢每個工種有獎金的員工的最高工資>12000的工種編號和最高工資 select max(salary),job_id from employees where commission_pct is not null group by job_id having max(salary) > 12000; ###4,按多個欄位分組 1.案例:查詢每個部門每個工種的員工的平均工資 select avg(salary),department_id,job_id from employees group by deparentment_id,job_id; ###5,添加排序 1.案例:查詢每個部門各個工種的員工的平均工資,并且按平均工資的高低顯示 select avg(salary) a,department_id,job_id from employees where department_id is not null group by job_id,department_id having avg(salary) > 10000 order by avg(salary) desc;
###階段六:1,連接查詢(多表查詢) 笛卡爾乘積現象:沒有有效的連接條件
如何避免:添加有效的連接條件
舉例:
	SELECT 
		NAME,boyName 
	FROM 
		boys,beauty
	WHERE 
		beauty.boyfriend_id = boys.id;

分類:

按年代分類:
	sql92標準:僅僅只支持內連接
	sql99標準【推薦】:支持內連接+外連接(左外和右外) + 交叉連接
按功能分類:
	內連接:
		等值連接
		非等值連接
		自連接
	外連接:
		左外連接
		右外連接
		全外連接
	交叉連接

2,sql92標準

1,等值連接

1.案例1:查詢員工名和對應的部門名
	SELECT 
		last_name,department_name
	FROM
		employees,departments
	WHERE
		employees.department_id = departments.department_id
2.案例2:查詢每個工種的工種名和員工的個數,并且按員工個數升序
	SELECT 
		job_title,COUNT(*)
	FROM 
		employees e,jobs j
	WHERE 
		e.job_id = j.job_id
	GROUP BY
		job_title
	ORDER BY
		COUNT(*) DESC;
3.案例3:查詢員工名、部門名和所在的城市(三表查詢)
	SELECT
		last_name,department_name,city
	FROM 
		employees e,departments d,locations l
	WHERE
		e.department_id = d.department_id
	AND
		d.location_id = l.location_id
	AND
		city LIKE 's%'
	ORDER BY
		department_name DESC;

2,非等值連接
1.案例1:查詢員工的工資和工資級別

	SELECT
		salary,grade_level
	FROM
		employees e,job_grades g
	WHERE
		salary BETWEEN g.lowest_sal AND g.highest_sal;

3,自連接
1.案例:查詢 員工名和上級的名稱

	SELECT 
		e.employee_id,e.last_name,m.employee_id,m.last_name,m.department_id
	FROM
		employees e,employees m
	WHERE 
		e.manager_id = m.employee_id;

3,sql99標準

1.語法:
	select
		查詢串列
	from 
		表1 別名 連接型別
	join
		表2 別名
	on
		連接條件
	[where
		篩選條件]
	[group by
		分組]
	[having
		篩選條件]
	[order by
		排序串列]

2.連接型別
	內連接(*):inner
	外連接:
		左外(*):left [outer]
		右外(*):right [outer]
		全外:full [outer]
	交叉連接:cross join

1,內連接

1.語法:
	select
		查詢串列
	from
		表1 別名
	inner join
		表2 別名
	on 
		連接條件

1,等值連接

1.案例1:查詢哪個部門的員工個數>3的部門名和員工個數,并按照個數降序(添加排序)

	1.查詢每個部門的員工個數
		SELECT 
			COUNT(*),department_name
		FROM 
			employees e
		INNER JOIN
			departments d
		ON
			e.department_id = d.department_id
		GROUP BY 
			department_name
	2.在1的結果上篩選員工個數>3的記錄,并排序
		SELECT 
			COUNT(*),department_name
		FROM 
			employees e
		INNER JOIN
			departments d
		ON
			e.department_id = d.department_id
		GROUP BY 
			department_id
		HAVING 
			COUNT(*) > 3
		ORDER BY
			COUNT(*) DESC;

2,非等值連接

2.案例1:查詢員工的工資級別

	SELECT 
		salary,grade_level
	FROM 
		employees e
	JOIN 
		job_grades g
	ON 
		e.salary 
	BETWEEN 
		g.lowest_sal 
	AND 
		g.highest_sal;

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/81213.html

標籤:MySQL

上一篇:win10安裝兩個不同版本的mysql(mysql5.7和mysql-8.0.19)

下一篇:MySQL 什么是事務?

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • GPU虛擬機創建時間深度優化

    **?桔妹導讀:**GPU虛擬機實體創建速度慢是公有云面臨的普遍問題,由于通常情況下創建虛擬機屬于低頻操作而未引起業界的重視,實際生產中還是存在對GPU實體創建時間有苛刻要求的業務場景。本文將介紹滴滴云在解決該問題時的思路、方法、并展示最終的優化成果。 從公有云服務商那里購買過虛擬主機的資深用戶,一 ......

    uj5u.com 2020-09-10 06:09:13 more
  • 可編程網卡芯片在滴滴云網路的應用實踐

    **?桔妹導讀:**隨著云規模不斷擴大以及業務層面對延遲、帶寬的要求越來越高,采用DPDK 加速網路報文處理的方式在橫向縱向擴展都出現了局限性。可編程芯片成為業界熱點。本文主要講述了可編程網卡芯片在滴滴云網路中的應用實踐,遇到的問題、帶來的收益以及開源社區貢獻。 #1. 資料中心面臨的問題 隨著滴滴 ......

    uj5u.com 2020-09-10 06:10:21 more
  • 滴滴資料通道服務演進之路

    **?桔妹導讀:**滴滴資料通道引擎承載著全公司的資料同步,為下游實時和離線場景提供了必不可少的源資料。隨著任務量的不斷增加,資料通道的整體架構也隨之發生改變。本文介紹了滴滴資料通道的發展歷程,遇到的問題以及今后的規劃。 #1. 背景 資料,對于任何一家互聯網公司來說都是非常重要的資產,公司的大資料 ......

    uj5u.com 2020-09-10 06:11:05 more
  • 滴滴AI Labs斬獲國際機器翻譯大賽中譯英方向世界第三

    **桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......

    uj5u.com 2020-09-10 06:11:29 more
  • MPP (Massively Parallel Processing)大規模并行處理

    1、什么是mpp? MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供 ......

    uj5u.com 2020-09-10 06:11:41 more
  • 滴滴資料倉庫指標體系建設實踐

    **桔妹導讀:**指標體系是什么?如何使用OSM模型和AARRR模型搭建指標體系?如何統一流程、規范化、工具化管理指標體系?本文會對建設的方法論結合滴滴資料指標體系建設實踐進行解答分析。 #1. 什么是指標體系 ##1.1 指標體系定義 指標體系是將零散單點的具有相互聯系的指標,系統化的組織起來,通 ......

    uj5u.com 2020-09-10 06:12:52 more
  • 單表千萬行資料庫 LIKE 搜索優化手記

    我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......

    uj5u.com 2020-09-10 06:13:25 more
  • 滴滴Ceph分布式存盤系統優化之鎖優化

    **桔妹導讀:**Ceph是國際知名的開源分布式存盤系統,在工業界和學術界都有著重要的影響。Ceph的架構和演算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat、SUSE、Intel等大公司的大力支持。Ceph是國際云計算領域應用最廣泛的開源分布式存盤系統, ......

    uj5u.com 2020-09-10 06:14:51 more
  • es~通過ElasticsearchTemplate進行聚合~嵌套聚合

    之前寫過《es~通過ElasticsearchTemplate進行聚合操作》的文章,這一次主要寫一個嵌套的聚合,例如先對sex集合,再對desc聚合,最后再對age求和,共三層嵌套。 Aggregations的部分特性類似于SQL語言中的group by,avg,sum等函式,Aggregation ......

    uj5u.com 2020-09-10 06:14:59 more
  • 爬蟲日志監控 -- Elastc Stack(ELK)部署

    傻瓜式部署,只需替換IP與用戶 導讀: 現ELK四大組件分別為:Elasticsearch(核心)、logstash(處理)、filebeat(采集)、kibana(可視化) 下載均在https://www.elastic.co/cn/downloads/下tar包,各組件版本最好一致,配合fdm會 ......

    uj5u.com 2020-09-10 06:15:05 more
最新发布
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:33:24 more
  • MySQL中binlog備份腳本分享

    關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......

    uj5u.com 2023-04-20 08:28:06 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:27:27 more
  • 快取與資料庫雙寫一致性幾種策略分析

    本文將對幾種快取與資料庫保證資料一致性的使用方式進行分析。為保證高并發性能,以下分析場景不考慮執行的原子性及加鎖等強一致性要求的場景,僅追求最終一致性。 ......

    uj5u.com 2023-04-20 08:26:48 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:26:35 more
  • 云時代,MySQL到ClickHouse資料同步產品對比推薦

    ClickHouse 在執行分析查詢時的速度優勢很好的彌補了MySQL的不足,但是對于很多開發者和DBA來說,如何將MySQL穩定、高效、簡單的同步到 ClickHouse 卻很困難。本文對比了 NineData、MaterializeMySQL(ClickHouse自帶)、Bifrost 三款產品... ......

    uj5u.com 2023-04-20 08:26:29 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:25:13 more
  • Redis 報”OutOfDirectMemoryError“(堆外記憶體溢位)

    Redis 報錯“OutOfDirectMemoryError(堆外記憶體溢位) ”問題如下: 一、報錯資訊: 使用 Redis 的業務介面 ,產生 OutOfDirectMemoryError(堆外記憶體溢位),如圖: 格式化后的報錯資訊: { "timestamp": "2023-04-17 22: ......

    uj5u.com 2023-04-20 08:24:54 more
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:24:03 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:23:11 more