新聞中心
如何使用mysql的API在c/c++的代碼中,創(chuàng)建一個(gè)存儲(chǔ)過程?
MySQL的概述
從策劃到設(shè)計(jì)制作,每一步都追求做到細(xì)膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、域名注冊(cè)、網(wǎng)站空間、網(wǎng)絡(luò)營(yíng)銷、VI設(shè)計(jì)、 網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進(jìn)步。
MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。在2008年1月16號(hào)被Sun公司收購(gòu)。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。MySQL的官方網(wǎng)站的網(wǎng)址是:
[編輯本段]MySQL的特性
1.使用C和C++編寫,并使用了多種編譯器進(jìn)行測(cè)試,保證源代碼的可移植性
2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng)
3.為多種編程語(yǔ)言提供了API。這些編程語(yǔ)言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。
4.支持多線程,充分利用CPU資源
5.優(yōu)化的SQL查詢算法,有效地提高查詢速度
6.既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫(kù)而嵌入到其他的軟件中提供多語(yǔ)言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名
7.提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫(kù)連接途徑
8.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫(kù)操作的管理工具
9.可以處理?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù)
[編輯本段]MySQL的應(yīng)用
與其他的大型數(shù)據(jù)庫(kù)例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQL Cluster的功能和效率都相對(duì)比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對(duì)于一般的個(gè)人使用者和中小型企業(yè)來(lái)說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。
目前Internet上流行的網(wǎng)站構(gòu)架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作為操作系統(tǒng),Apache作為Web服務(wù)器,MySQL作為數(shù)據(jù)庫(kù),PHP作為服務(wù)器端腳本解釋器。由于這四個(gè)軟件都是遵循GPL的開放源碼軟件,因此使用這種方式不用花一分錢就可以建立起一個(gè)穩(wěn)定、免費(fèi)的網(wǎng)站系統(tǒng)。
[編輯本段]MySQL管理
可以使用命令行工具管理MySQL數(shù)據(jù)庫(kù)(命令mysql 和 mysqladmin),也可以從MySQL的網(wǎng)站下載圖形管理工具M(jìn)ySQL Administrator和MySQL Query Browser。
phpMyAdmin是由php寫成的MySQL資料庫(kù)系統(tǒng)管理程式,讓管理者可用Web介面管理MySQL資料庫(kù)。
phpMyBackupPro也是由PHP寫成的,可以透過Web介面創(chuàng)建和管理數(shù)據(jù)庫(kù)。它可以創(chuàng)建偽cronjobs,可以用來(lái)自動(dòng)在某個(gè)時(shí)間或周期備份MySQL 數(shù)據(jù)庫(kù)。
另外,還有其他的GUI管理工具,例如早先的mysql-front 以及 ems mysql manager,navicat 等等。
[編輯本段]Mysql存儲(chǔ)引擎
MyISAM Mysql的默認(rèn)數(shù)據(jù)庫(kù),最為常用。擁有較高的插入,查詢速度,但不支持事務(wù)
InnoDB 事務(wù)型數(shù)據(jù)庫(kù)的首選引擎,支持ACID事務(wù),支持行級(jí)鎖定
BDB 源自Berkeley DB,事務(wù)型數(shù)據(jù)庫(kù)的另一種選擇,支持COMMIT和ROLLBACK等其他事務(wù)特性
Memory 所有數(shù)據(jù)置于內(nèi)存的存儲(chǔ)引擎,擁有極高的插入,更新和查詢效率。但是會(huì)占用和數(shù)據(jù)量成正比的內(nèi)存空間。并且其內(nèi)容會(huì)在Mysql重新啟動(dòng)時(shí)丟失
Merge 將一定數(shù)量的MyISAM表聯(lián)合而成一個(gè)整體,在超大規(guī)模數(shù)據(jù)存儲(chǔ)時(shí)很有用
Archive 非常適合存儲(chǔ)大量的獨(dú)立的,作為歷史記錄的數(shù)據(jù)。因?yàn)樗鼈儾唤?jīng)常被讀取。Archive擁有高效的插入速度,但其對(duì)查詢的支持相對(duì)較差
Federated 將不同的Mysql服務(wù)器聯(lián)合起來(lái),邏輯上組成一個(gè)完整的數(shù)據(jù)庫(kù)。非常適合分布式應(yīng)用
Cluster/NDB 高冗余的存儲(chǔ)引擎,用多臺(tái)數(shù)據(jù)機(jī)器聯(lián)合提供服務(wù)以提高整體性能和安全性。適合數(shù)據(jù)量大,安全和性能要求高的應(yīng)用
CSV 邏輯上由逗號(hào)分割數(shù)據(jù)的存儲(chǔ)引擎
BlackHole 黑洞引擎,寫入的任何數(shù)據(jù)都會(huì)消失,一般用于記錄binlog做復(fù)制的中繼
另外,Mysql的存儲(chǔ)引擎接口定義良好。有興趣的開發(fā)者通過閱讀文檔編寫自己的存儲(chǔ)引擎。
[編輯本段]Mysql最常見的應(yīng)用架構(gòu)
單點(diǎn)(Single),適合小規(guī)模應(yīng)用
復(fù)制(Replication),適合中小規(guī)模應(yīng)用
集群(Cluster),適合大規(guī)模應(yīng)用
[編輯本段]mysql歷史版本
MySQL公司目前在同時(shí)開發(fā)兩個(gè)版本的軟件,4.1版以及5.0版。4.1版本的代碼已經(jīng)發(fā)布并有望在8個(gè)月后公布最終代碼。而5.0版本的最后產(chǎn)品將在6個(gè)月后發(fā)布。
MySQL4.1版本中增加了不少新的性能,包括對(duì)主鍵的更高速度的緩存,對(duì)子查詢的更好的支持,以及應(yīng)網(wǎng)絡(luò)約會(huì)網(wǎng)站所要求的,基于地理信息的查詢。
而其同步開發(fā)的5.0版本則把目標(biāo)對(duì)準(zhǔn)了企業(yè)用戶,對(duì)于4.1版本中的所有新特性,5.0版本悉數(shù)收入囊中,并且獨(dú)具以下特點(diǎn):對(duì)外鍵的良好支持;系統(tǒng)自動(dòng)報(bào)錯(cuò)機(jī)制以及對(duì)存儲(chǔ)過程的充分支持。
SQL全稱是“結(jié)構(gòu)化查詢語(yǔ)言(Structured Query Language)”
SQL(STructured Query Language)是一種數(shù)據(jù)庫(kù)查詢和程序設(shè)計(jì)語(yǔ)言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。
SQL同時(shí)也是數(shù)據(jù)庫(kù)腳本文件的擴(kuò)展名。
SQL是高級(jí)的非過程化編程語(yǔ)言,允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作。他不要求用戶指定對(duì)數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以具有完全不同底層結(jié)構(gòu)的不同數(shù)據(jù)庫(kù)系統(tǒng)可以使用相同的SQL語(yǔ)言作為數(shù)據(jù)輸入與管理的接口。它以記錄集合作為操作對(duì)象,所有SQL語(yǔ)句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語(yǔ)句的輸出作為另一條SQL語(yǔ)句的輸入,所以SQL語(yǔ)句可以嵌套,這使他具有極大的靈活性和強(qiáng)大的功能,在多數(shù)情況下,在其他語(yǔ)言中需要一大段程序?qū)崿F(xiàn)的功能只需要一個(gè)SQL語(yǔ)句就可以達(dá)到目的,這也意味著用SQL語(yǔ)言可以寫出非常復(fù)雜的語(yǔ)句。
結(jié)構(gòu)化查詢語(yǔ)言(Structured Query Language)最早是IBM的圣約瑟研究實(shí)驗(yàn)室為其關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)SYSTEM R開發(fā)的一種查詢語(yǔ)言,它的前身是SQUARE語(yǔ)言。SQL語(yǔ)言結(jié)構(gòu)簡(jiǎn)潔,功能強(qiáng)大,簡(jiǎn)單易學(xué),所以自從IBM公司1981年推出以來(lái),SQL語(yǔ)言得到了廣泛的應(yīng)用。如今無(wú)論是像Oracle、Sybase、Informix、SQL Server這些大型的數(shù)據(jù)庫(kù)管理系統(tǒng),還是像Visual Foxporo、PowerBuilder這些PC上常用的數(shù)據(jù)庫(kù)開發(fā)系統(tǒng),都支持SQL語(yǔ)言作為查詢語(yǔ)言。
美國(guó)國(guó)家標(biāo)準(zhǔn)局(ANSI)與國(guó)際標(biāo)準(zhǔn)化組織(ISO)已經(jīng)制定了SQL標(biāo)準(zhǔn)。ANSI是一個(gè)美國(guó)工業(yè)和商業(yè)集團(tuán)組織,負(fù)責(zé)開發(fā)美國(guó)的商務(wù)和通訊標(biāo)準(zhǔn)。ANSI同時(shí)也是ISO和International Electrotechnical Commission(IEC)的成員之一。ANSI 發(fā)布與國(guó)際標(biāo)準(zhǔn)組織相應(yīng)的美國(guó)標(biāo)準(zhǔn)。1992年,ISO和IEC發(fā)布了SQL國(guó)際標(biāo)準(zhǔn),稱為SQL-92。ANSI隨之發(fā)布的相應(yīng)標(biāo)準(zhǔn)是ANSI SQL-92。ANSI SQL-92有時(shí)被稱為ANSI SQL。盡管不同的關(guān)系數(shù)據(jù)庫(kù)使用的SQL版本有一些差異,但大多數(shù)都遵循 ANSI SQL 標(biāo)準(zhǔn)。SQL Server使用ANSI SQL-92的擴(kuò)展集,稱為T-SQL,其遵循ANSI制定的 SQL-92標(biāo)準(zhǔn)。
SQL語(yǔ)言包含4個(gè)部分:
※ 數(shù)據(jù)定義語(yǔ)言(DDL),例如:CREATE、DROP、ALTER等語(yǔ)句。
※ 數(shù)據(jù)操作語(yǔ)言(DML),例如:INSERT、UPDATE、DELETE語(yǔ)句。
※ 數(shù)據(jù)查詢語(yǔ)言(DQL),例如:SELECT語(yǔ)句。
※ 數(shù)據(jù)控制語(yǔ)言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK等語(yǔ)句。
SQL語(yǔ)言包括三種主要程序設(shè)計(jì)語(yǔ)言類別的陳述式:數(shù)據(jù)定義語(yǔ)言(DDL),數(shù)據(jù)操作語(yǔ)言(DML)及數(shù)據(jù)控制語(yǔ)言(DCL)。
MySQL數(shù)據(jù)庫(kù)是哪個(gè)公司的產(chǎn)品?
MySQL 是一個(gè)關(guān)系型數(shù)據(jù)庫(kù),由瑞典?MySQL AB 公司開發(fā),目前屬于?Oracle?旗下公司。
MySQL 最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在 WEB 應(yīng)用方面 MySQL 是最好的 RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)) 應(yīng)用軟件之一。MySQL 是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性。
MySQL 所使用的 SQL 語(yǔ)言是用于訪問數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。MySQL 軟件采用了雙授權(quán)政策(本詞條"授權(quán)政策"),它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開發(fā)都選擇 MySQL 作為網(wǎng)站數(shù)據(jù)庫(kù)。由于其社區(qū)版的性能卓越,搭配?PHP,Linux和?Apache?可組成良好的開發(fā)環(huán)境,經(jīng)過多年的web技術(shù)發(fā)展,在業(yè)內(nèi)被廣泛使用的一種web服務(wù)器解決方案之一,稱之為L(zhǎng)AMP。
在python3下怎樣用flask-sqlalchemy對(duì)mysql數(shù)據(jù)庫(kù)操作
這個(gè)問題經(jīng)常難道新手一下,因?yàn)榇蟛糠纸坛汤铮òń?jīng)典的《Flask
Web開發(fā)》一書),告訴了我們?nèi)绾问褂胒lask-sqlalchemy操作sqlite,但在生產(chǎn)環(huán)境(線上網(wǎng)站)上,我們肯定是使用MySQL或其
他,而大部分的教程里,又告訴我們flask-sqlalchemy使用MySQL的方式是:
mysql://username:password@server/db
結(jié)果我們照葫蘆畫瓢的來(lái)一下,發(fā)現(xiàn)壓根不行,寫好的網(wǎng)站一跟數(shù)據(jù)庫(kù)沾邊就報(bào)錯(cuò)。
Python和MySQL是「兩個(gè)國(guó)家的人」,他們互不相通,因而需要一個(gè)中間代理,讓雙方互通有無(wú),跟翻譯一樣(這比喻不準(zhǔn)確,但足夠你明白意思就行)。翻譯又有很多選擇,不同的翻譯各有特色。
題
主解決問題選擇的翻譯是「flask-mysqldb」,其背后的主子是「MySQL-python」。恩,說到這里你應(yīng)該知道,「flask-xxx」
這樣的包都是對(duì)背后主子進(jìn)行了適合Flask封裝的插件,跟包子皮一樣,里面的餡才是重點(diǎn),「flask-mysqldb」的餡是「MySQL-
python」。
而我要推薦的是另一個(gè)翻譯:PyMySQL,這玩意的好處是可以做異步(「MySQL-python」也可以,個(gè)人口味罷了),簡(jiǎn)而言之,網(wǎng)站訪問量大了就需要考慮異步,現(xiàn)在別管這是啥子。這玩意的安裝方式是:
pip install PyMySQL
之后,數(shù)據(jù)庫(kù)連接由:
mysql://username:password@server/db
改為
mysql+pymysql://username:password@server/db
就可以了。
用mySQL數(shù)據(jù)庫(kù)如何創(chuàng)建(中華人民共和國(guó)行政區(qū)劃省、市、區(qū)、其他等),求救啊
我一般這樣建表:
create?table?unit?(
uid?int?auto_increment,
uname?varchar(32),
ulevel?int,
parentid?int,
PRIMARY?KEY??uid
);
uid是主鍵,自動(dòng)編號(hào),uname是省市區(qū)縣鄉(xiāng)鎮(zhèn)的名稱,ulevel為級(jí)別(可以規(guī)定省為1、市為2、……),parentid為上級(jí)id,省的上級(jí)為0,市的上級(jí)為對(duì)應(yīng)的省,……
mysql查詢 表1的字段1,是不是包含某文字,如"美國(guó)",如果說我想把"美國(guó)"改為"中國(guó)"又怎么寫
查詢慢,可以通過加索引來(lái)改善,先看看表中字段1是否為索引項(xiàng),如果沒有,對(duì)字段1建立索引。
如果是要將字段1中包含“美國(guó)”的值都改成中國(guó)??梢允褂萌缦抡Z(yǔ)句:
update table set 字段1 = replace(字段1, '美國(guó)', '中國(guó)') where 字段1 like '%美國(guó)%',
mysql是國(guó)產(chǎn)數(shù)據(jù)庫(kù)嗎
不是,MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),目前屬于 Oracle 旗下產(chǎn)品。MySQL 是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一,在 WEB 應(yīng)用方面,MySQL是最好的 RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)) 應(yīng)用軟件之一。
網(wǎng)站欄目:mysql使用國(guó)家怎么選,mysql安裝怎么選
瀏覽路徑:http://www.dlmjj.cn/article/hshdjo.html