兩種
成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括福山網(wǎng)站建設(shè)、福山網(wǎng)站制作、福山網(wǎng)頁制作以及福山網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,福山網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到福山省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
1.安裝MYSQL?官網(wǎng)的MSI?程序,安裝完,直接打開使用,現(xiàn)在最新的版本都有界面編輯器
2.在官網(wǎng)下載壓縮包,解壓后,再使用,沒搞過
網(wǎng)頁鏈接
MySQL架構(gòu)如下:
我們寫的sql語句通過client對接MYSQL的連接層,然后有查詢緩存,語法解析器,優(yōu)化器,生成最終執(zhí)行計(jì)劃,然后去查詢插件式存儲(chǔ)引擎,如InnoDB等。我們的數(shù)據(jù)是通過存儲(chǔ)引擎來和物理設(shè)備交互的。
你的問題太泛泛了,“MYSQL的程序”你指的是什么?是MYSQL的 存儲(chǔ)過程??您最好是具體問題具體問,你這樣提問的話大家都不知道你想要什么!
mysql soure example.sql里的soure寫錯(cuò)了應(yīng)該是source!!!!example.sql是你實(shí)現(xiàn)先編輯好的文本內(nèi)容,內(nèi)容可以是創(chuàng)建一個(gè)數(shù)據(jù)庫,然后再數(shù)據(jù)庫下建立一個(gè)或多個(gè)數(shù)據(jù)表,再往表里插入一些記錄??!然后再寫個(gè)存儲(chǔ)過程完成一些簡單的功能,比如把A表里的內(nèi)容插入到B表等等(可以加內(nèi)容存在就修改不存在就插入等判斷)?。〗⒁粋€(gè).SQL文件就是為了方便?。‰S便舉個(gè)例子:在D盤根目錄下用記事本建立個(gè)example.sql文件,內(nèi)容如下:
CREATE database name ;
use name;
CREATE TABLE a (
user_id int(11) DEFAULT NULL,
name char(11) DEFAULT NULL,
UNIQUE KEY USER_ID (user_id)
);
insert into a (user_id,name) values (1,'aaa'),(2,'bbb');
CREATE TABLE b (
user_id int(11) DEFAULT NULL,
name char(11) DEFAULT NULL,
UNIQUE KEY USER_ID (user_id)
);
insert into b (user_id,name) values (1,'xxx'),(3,'ccc');
DELIMITER $$
DROP PROCEDURE IF EXISTS qq$$
CREATE PROCEDURE qq()
begin
declare p_user_id varchar(6);
declare p_name varchar(6);
declare cursor_flag int default 0;
declare user_nrb cursor for select user_id,name from a;
declare continue handler for sqlstate '02000' set cursor_flag = 1;
open user_nrb;
repeat
fetch user_nrb into p_user_id,p_name;
if not cursor_flag then
if not exists (select * from b where user_id=p_user_id) then
insert into b(user_id,name)values(p_user_id,p_name);
else
update b set name=p_name where user_id=p_user_id;
end if;
end if;
until cursor_flag end repeat;
close user_nrb;
end$$
DELIMITER ;
順序是建立名為name的數(shù)據(jù)庫,其下建立倆表A和B,為A表插入用戶1和2,為B表插入用戶1,3??!再建立名為QQ的存儲(chǔ)過程,功能是把a(bǔ)表的用戶導(dǎo)入到B表,如果A的用戶號(hào)再B里沒有直接插入,如果A里的用戶號(hào)已經(jīng)在B表里了那就改變B表里相應(yīng)用戶的名字??!大概是這么個(gè)過程??!在MYSQL自帶的客戶端導(dǎo)入剛才建立的example.sql文件,順序是:開始——程序——MYSQL——MYSQL SERVER5.1——MYSQL COMMAND LINE CLIENT 窗口里輸入ROOT用戶密碼在光標(biāo)處輸入source d:\example.sql!!最后再執(zhí)行存儲(chǔ)過程,敲call qq;回車?。?!
驗(yàn)證方法是敲select * from b;回車??!可以發(fā)現(xiàn)B表由本來插入的2條記錄變成3條記錄,而且用戶1的名字也從xxx變成aaa了?。。?!
希望對你有幫助!另外最重要的是MYSQL有一些很好的圖形界面客戶端工具,不用這個(gè)DOS界面的東西,下載個(gè)sqlyog什么的軟件裝上,基本一啟動(dòng)就會(huì)用了的東西!在SQLYOG的界面直接把example.sql里的內(nèi)容復(fù)制過來粘貼后按F5鍵運(yùn)行即可!??!
Mysql分客戶端和服務(wù)端。成功安裝后,在服務(wù)器端,保證mysqld服務(wù)成功啟動(dòng)后,便可以通過客戶端工具訪問mysql了。
在命令行可通過以下命令登陸mysql:
mysql
-uroot
-ppassword
(-u指定用戶名,-p指定密碼)
另外也可以通過基于瀏覽器的工具訪問mysql,如phpmyadmin。
《MySQL是怎樣運(yùn)行的:從根兒上理解 MySQL》是一本MySQL的底層運(yùn)行原理的書。關(guān)于底層運(yùn)行原理4個(gè)字怎么理解呢,我的理解是專注于介紹 MySQL 的 innoDB的底層存儲(chǔ)細(xì)節(jié),并以此為基礎(chǔ)延伸到分析MySQL 實(shí)際應(yīng)用中的特性。
相比極客時(shí)間里面的《MySQL 實(shí)戰(zhàn)45講》,我覺得這本書更像電視劇《一代宗師》里面講到的里子而非面子,更聚焦于事情的本質(zhì)而非表象,所以非常推薦大家耐心閱讀。我是3.28號(hào)收到的書,在上下班的路上斷斷續(xù)續(xù)完成了閱讀(這就是上下班需要花3個(gè)小時(shí)的好處),所謂的斷斷續(xù)續(xù)就是每個(gè)點(diǎn)都了解了,但是沒有串成線形成面。今天剛好周六就抽了一下午加一晚上把所有的內(nèi)容從頭到位又串聯(lián)了一次,整體下來差不多花了兩周時(shí)間才消化完。
為啥對 MySQL突然來了興趣呢,緣于2021年底以來公司內(nèi)部組織了兩場分享,當(dāng)時(shí)聽完分享后針對分享的PPT消化了一波,但是總感覺不得勁。雖然理解了分享中部分場景但卻無法理解背后的原理,所以斷斷續(xù)續(xù)在網(wǎng)上搜集些介紹 MySQL 的書籍就發(fā)現(xiàn)了這本書,閱讀后再重新回顧之前的分享,感覺突然開竅了。
梳理了下整個(gè)書本的內(nèi)容,按照個(gè)人的理解給出閱讀的建議,首先這部分的內(nèi)容其實(shí)挺多的,但是建議聚焦于幾條核心的線:innoDB的數(shù)據(jù)存儲(chǔ),索引的設(shè)計(jì)和應(yīng)用,redo/undo 日志以及 mvcc 的原理。
關(guān)于 innoDB 的存儲(chǔ),這部分建議閱讀章節(jié): 從一條記錄說起—— InnoDB 記錄結(jié)構(gòu)、盛放記錄的大盒子 —— InnoDB 數(shù)據(jù)頁結(jié)構(gòu)、 調(diào)節(jié)磁盤和CPU的矛盾 —— InnoDB 的 Buffer Pool》。這三個(gè)章節(jié)按照數(shù)據(jù)存儲(chǔ)由微觀到宏觀的順序進(jìn)行講解:單條記錄的存儲(chǔ)結(jié)構(gòu)、頁維度的存儲(chǔ)結(jié)構(gòu)、Buffer Pool 的存儲(chǔ)結(jié)構(gòu)等。
索引的設(shè)計(jì)和應(yīng)用,這部分閱讀建議建立在innoDB的存儲(chǔ)相關(guān)章節(jié)已經(jīng)完成閱讀的基礎(chǔ)上,相關(guān)章節(jié)包括: 快速查詢的秘籍 —— B+ 樹索引、 好東西也得先學(xué)會(huì)怎么用 —— B+ 樹索引的使用。這兩個(gè)章節(jié)介紹索引的存儲(chǔ)結(jié)構(gòu)以及實(shí)際應(yīng)用,跟日常工作比較有強(qiáng)關(guān)聯(lián)性。
redo/undo 日志以及 mvcc 的原理,這部分建議閱讀章節(jié): 說過的話就一定要辦到 —— redo 日志(上)、 說過的話就一定要辦到 —— redo 日志(下)、 后悔了怎么辦 —— undo 日志 (上)、 后悔了怎么辦 —— undo 日志 (下)、 一條記錄的多幅面孔 —— 事務(wù)的隔離級(jí)別與MVCC。這幾個(gè)章節(jié)主要是為了講清楚 MVCC 的底層實(shí)現(xiàn)原理。
最后推薦對 MySQL 有興趣的同學(xué)可以買來翻翻看,收獲肯定是有的。
推薦一個(gè)講解MySQL的好書-- MySQL是怎樣運(yùn)行的 ,作者是小孩子4919,這是目前為止筆者讀過的MySQL方面最好的書.
筆者之前翻看過(MySQL技術(shù)內(nèi)幕:InnoDB存儲(chǔ)引擎)和(高性能MySQL),前者對InnoDB的技術(shù)要點(diǎn)講解的很深.后者則是流水賬式的介紹MySQL的各個(gè)模塊. 彼時(shí)筆者的背景知識(shí)極為有限:
所以兩者都不適合.筆者需要的是這樣的一本書
很幸運(yùn),筆者發(fā)現(xiàn)了 MySQL是怎么運(yùn)行的 ,它達(dá)成了上述需求的90%.如果你跟筆者有類似的問題,那么讀下這本書吧!
推薦大家重點(diǎn)閱讀下面章節(jié)
從此跟亂碼say goodbye
了解記錄在內(nèi)存中的結(jié)構(gòu),B+樹的演變由來,以及為什么要使用索引--沒有索引就要掃全表呀!
緩沖池提高了性能,也帶來了問題.
做完的事情說什么也不能丟失.
第一次聽說臟寫和Read View.看完之后才知道事務(wù)隔離級(jí)別的實(shí)現(xiàn)差異.
祝大家有一個(gè)愉快的閱讀體驗(yàn)~
名稱欄目:mysql是怎么樣運(yùn)行的,mysql寫好代碼怎么運(yùn)行
URL網(wǎng)址:http://sd-ha.com/article28/hcosjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、品牌網(wǎng)站制作、企業(yè)建站、、電子商務(wù)、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)