mysql數據庫基礎教程

mysql數據庫基礎教程

數據庫從最初的數據文件的簡單集合發展到今天的大型數據庫管理系統已經成爲咱們平常生活中不可缺乏的組成部分。若是不借助數據庫的幫助,許多簡單的工做將變得冗長乏味,甚至難以實現。尤爲是象銀行、院校和圖書館這樣的大型組織更加依靠數據庫系統實現其正常的運做。再看互聯網上,從搜索引擎到在線商場,從網上聊天到郵件列表,都離不開數據庫。
mysql

  整體來講,mysql數據庫具備如下主要特色:
1.同時訪問數據庫的用戶數量不受限制;
2.能夠保存超過50,000,000條記錄;
3.是目前市場上現有產品中運行速度最快的數據庫系統;
4.用戶權限設置簡單、有效。
  現在,包括siemens和silicongraphics這樣的國際知名公司也開始把mysql做爲其數據庫管理系統,這就更加證實了mysql數據庫的優越性能和廣闊的市場發展前景。
  本文將重點向讀者介紹mysql數據庫的一些基本操做,包括如何與數據庫創建鏈接,若是設置數據庫,以及如何執行基本的命令等。但願可以對讀者學習和掌握mysql數據庫有所助益。

入門
  通常來講,咱們訪問mysql數據庫時,首先須要使用telnet遠程登陸安裝數據庫系統的服務器,而後再進入mysql數據庫。mysql數據庫的鏈接命令以下:
mysql-hhostname-uusername-p[password]
或者:
mysql-hhostname-uusername--password=password
  其中,hostname爲裝有mysql數據庫的服務器名稱,username和password分別是用戶的登陸名稱和口令。
  若是mysql數據庫安裝和配置正確的話,用戶在輸入上述命令以後會獲得以下系統反饋信息:
welcometothemysqlmonitor.commandsendwith;org.
yourmysqlcidis49toserverversi3.23-beta-log
typehelpforhelp.
mysql$#@62;
  這樣,用戶就成功進入了mysql數據庫系統,能夠在mysql$#@62;命令提示符以後輸入各類命令。下面,咱們列出一些mysql數據庫的主要管理命令供讀者參考,用戶也能夠經過在命令符以後輸入help,h或?獲得如下命令的簡單說明。
mysql$#@62;help
help(h)顯示命令幫助
?(h)做用同上
clear(c)清除屏幕內容
c(r)從新鏈接服務器,可選參數爲db(數據庫)和host(服務器)
exit()退出mysql數據庫,做用與quit命令相同
go(g)將命令傳送至mysql數據庫
print(p)打印當前命令
quit(q)退出mysql數據庫
status(s)顯示服務器當前信息
use(u)打開數據庫,以數據庫名稱做爲命令參數
  上述命令主要用於mysql數據庫的系統管理,若是用戶須要對某個具體的數據庫進行操做,可使用use命令進入該數據庫,格式以下:
mysql$#@62;usedbname;
  這裏須要提醒讀者注意的一點就是mysql數據庫要求使用者在全部命令的結尾處使用「;」做爲命令結束符。

數據類型和數據表
  從本質上說,數據庫就是一種不斷增加的複雜的數據組織結構。在mysql數據庫中,用於保存數據記錄的結構被稱爲數據表。而每一條數據記錄則是由更小的數據對象,即數據類型組成。所以,整體來講,一個或多個數據類型組成一條數據記錄,一條或多條數據記錄組成一個數據表,一個或多個數據表組成一個數據庫。咱們能夠把上述結構理解爲以下形式:
database$#@60;table$#@60;record$#@60;datatype
  數據類型分爲不一樣的格式和大小,能夠方便數據庫的設計人員建立最理想的數據結構。可否正確的選擇恰當的數據類型對最終數據庫的性能具備重要的影響,所以,咱們有必要首先對數據類型的有關概念進行較爲詳細的介紹。

mysql數據類型
  mysql數據庫提供了多種數據類型,其中較爲經常使用的幾種以下:
char(m)
  char數據類型用於表示固定長度的字符串,能夠包含最多達255個字符。其中m表明字符串的長度。
舉例以下:
car_modelchar(10);
varchar(m)
  varchar是一種比char更加靈活的數據類型,一樣用於表示字符數據,可是varchar能夠保存可變長度的字符串。其中m表明該數據類型所容許保存的字符串的最大長度,只要長度小於該最大值的字符串均可以被保存在該數據類型中。所以,對於那些難以估計確切長度的數據對象來講,使用varchar數據類型更加明智。varchar數據類型所支持的最大長度也是255個字符。
  這裏須要提醒讀者注意的一點是,雖然varchar使用起來較爲靈活,可是從整個系統的性能角度來講,char數據類型的處理速度更快,有時甚至能夠超出varchar處理速度的50%。所以,用戶在設計數據庫時應當綜合考慮各方面的因素,以求達到最佳的平衡。
舉例以下:
car_modelvarchar(10);
int(m)[unsigned]
  int數據類型用於保存從-2147483647到2147483648範圍以內的任意整數數據。若是用戶使用unsigned選項,則有效數據範圍調整爲0-4294967295。舉例以下:
light_yearsint;
  按照上述數據類型的設置,-24567爲有效數據,而3000000000則由於超出了有效數據範圍成爲無效數據。
再例如:
light_yearsintunsigned;
這時,3000000000成爲有效數據,而-24567則成爲無效數據。
float[(m,d)]
  float數據類型用於表示數值較小的浮點數據,能夠提供更加準確的數據精度。其中,m表明浮點數據的長度(即小數點左右數據長度的總和),d表示浮點數據位於小數點右邊的數值位數。
舉例以下:
rainfallfloat(4,2);
  按照上述數據類型的設置,42.35爲有效數據,而324.45和3.542則由於超過數據長度限制或者小數點右邊位數大於規定值2成爲無效數據。
date
  date數據類型用於保存日期數據,默認格式爲yyyy-mm-dd。mysql提供了許多功能強大的日期格式化和操做命令,本文沒法在此一一進行介紹,感興趣的讀者能夠參看mysql的技術文檔。
date數據類型舉例以下:
the_datedate;
text/blob
  text和blob數據類型能夠用來保存255到65535個字符,若是用戶須要把大段文本保存到數據庫內的話,能夠選用text或blob數據類型。text和blob這兩種數據類型基本相同,惟一的區別在於text不區分大小寫,而blob對字符的大小寫敏感。
set
  set數據類型是多個數據值的組合,任何部分或所有數據值都是該數據類型的有效數據。set數據類型最大能夠包含64個指定數據值。
舉例以下:
transportset("truck","wagnotnull;
  根據上述數據類型的設置,truck、wag
enum
  enum數據類型和set基本相同,惟一的區別在於enum只容許選擇一個有效數據值。例如:
transportenum("truck","wagnotnull;
  根據上述設置,truck或wag
  以上,咱們只是對用戶使用mysql數據庫的過程當中常常用到的數據類型進行了簡單介紹,有興趣的讀者,能夠參看mysql技術文檔的詳細說明。

數據記錄
  一組通過聲明的數據類型就能夠組成一條記錄。記錄小到能夠只包含一個數據變量,大到能夠知足用戶的各類複雜需求。多條記錄組合在一塊兒就構成了數據表的基本結構。

數據表
  在咱們執行各類數據庫命令以前,首先須要建立用來保存信息的數據表。咱們能夠經過如下方式在mysql數據庫中建立新的數據表:
mysql>createtabletest(namevarchar(15),emailvarchar(25),phint,idintnotnullauto_increment,primarykey(id));
系統反饋信息爲:
queryok,0rowsaffected(0.10sec)
mysql>
  這樣,咱們就在數據庫中建立了一個新的數據表。注意,同一個數據庫中不能存在兩個名稱相同的數據表。
  這裏,咱們使用createtable命令建立的test數據表中包含name,email,ph
  下面,咱們來看一看建立數據表時所用到的幾個主要的參數選項。
primarykey
  具備primarykey限制條件的字段用於區分同一個數據表中的不一樣記錄。由於同一個數據表中不會存在兩個具備相同值的primarykey字段,因此對於那些須要嚴格區分不一樣記錄的數據表來講,primarykey具備至關重要的做用。
auto_increment
  具備auto_increment限制條件的字段值從1開始,每增長一條新記錄,值就會相應地增長1。通常來講,咱們能夠把auto_increment字段做爲數據表中每一條記錄的標識字段。
notnull
  notnull限制條件規定用戶不得在該字段中插入空值。
其它數據表命令
  除了建立新的數據表以外,mysql數據庫還提供了其它許多很是實用的以數據表做爲操做對象的命令。
顯示數據表命令
mysql>showtables;
  該命令將會列出當前數據庫下的全部數據表。
顯示字段命令
mysql>showcolumnsfromtablename;
  該命令將會返回指定數據表的全部字段和字段相關信息。

數據操做
  對mysql數據庫中數據的操做能夠劃分爲四種不一樣的類型,分別是添加、刪除、修改和查詢,咱們將會在本節中對此進行介紹。可是,首先咱們須要強調的一點就是mysql數據庫所採用的sql語言同其它絕大多數計算機編程語言同樣,對命令的語法格式有嚴格的規定。任何語法格式上的錯誤,例如不正確的使用括號、逗號或分號等均可能致使命令執行過程當中的錯誤。所以,建議用戶在學習時必定要多留心語法格式的使用。
添加記錄
  用戶可使用insert命令向數據庫中添加新的記錄。
例如:
mysql>insertintotestvalues(john,carrots@mail.com,5554321,null);
  上述命令正確執行後會返回如下信息:
queryok,1rowaffected(0.02sec)
mysql$#@62;
  對上述命令有幾點咱們須要說明。首先,全部的字符類型數據都必須使用單引號括起來。其次,null關鍵字與auto_increment限制條件相結合能夠爲字段自動賦值。最後,也是最重要的一點就是新記錄的字段值必須與數據表中的原字段相對應,若是原數據表中有4個字段,而用戶所添加的記錄包含3個或5個字段的話都會致使錯誤出現。
  mysql數據庫的一個很是顯著的優點就是能夠對整數、字符串和日期數據進行自動轉換。所以,用戶在添加新記錄時就沒必要擔憂由於數據類型不相符而出現錯誤。
查詢數據
  若是咱們沒法從數據庫中查找和讀取數據的話,數據庫就喪失了其存在和使用的價值。
  在mysql數據庫中,用戶可使用select命令進行數據的查詢。
例如:
mysql>select*fromtest
mysql>where(name="john");
上述命令會返回以下結果:

nameemailphid

johncarrots@mail.com55543211

刪除數據
  用戶除了能夠向數據表中添加新的記錄以外,還能夠刪除數據表中的已有記錄。刪除記錄可使用delete命令。
例如:
mysql>deletefromtest
mysql>where(name="");
  該命令將會刪除test數據表中name字段的值爲john的記錄。一樣,
mysql>deletefromtest
mysql>where(ph=5554321);
  將會從數據表中刪除ph
修改數據
  mysql數據庫還支持用戶對已經輸入到數據表中的數據進行修改。修改記錄可使用update命令。
例如:
mysql>updatetestsetname=mary
mysql>wherename="john";
上述命令的執行結果以下:

nameemailphid

marycarrots@mail.com55543211

  到此爲止,咱們對mysql數據庫數據操做的核心概念,即數據的添加、刪除、修改和查詢進行了簡單的介紹。sql

相關文章
相關標籤/搜索