MYSQL資料庫入門

來源:互聯網
上載者:User
mysql|資料|資料庫 MYSQL資料庫入門
MySQL簡介
什麼是MySQL?

MySQL是一個多使用者、多線程的SQL資料庫,是一個客戶機/伺服器結構的應用,它由一個伺服器精靈mysqld和很多不同的客戶程式和庫組成。
SQL (Structured Query Language結構化查詢語言 (SQL))是目前使用最廣的並且是標準的資料庫語言。SQL語言使得存取或更新資訊變得十分容易,你可以直接使用SQL從網站上查詢資訊。MySQL的快速和靈活性足以滿足一個網站的資訊管理工作。資料庫與使用者端之間的介面程式可以使用CGI進行通訊。新網ChinaDNS使用的是PHP,使用PHP和MySQL這兩樣東西加在一起,對於開發資料驅動的網站這項工作而言是最佳組合。PHP是一種用於伺服器端執行程式解釋的指令碼語言。如果你接觸過ASP的話,那麼您對於在HTML頁面中內嵌程式碼應該是比較熟悉了。PHP代碼在伺服器一端被解釋、執行並轉變成普通的HTML頁面內容,送給瀏覽器一端。這種模式使得我們可以用它來完成相當複雜的功能。


為什麼用MySQL?
現在每一個人的生活幾乎都離不開資料庫,如果沒有資料庫,很多事情都會變得非常棘手,也許根本無法做得到。銀行、大學和圖書館就是幾個嚴重依賴資料庫系統的地方。在互連網上,使用搜尋引擎、線上購物甚至是訪問網站地址(http://www...)都離不開資料庫。一個資料庫通常都安裝在稱為資料庫伺服器的電腦上。目前市場上運行最快的 SQL (Structured Query Language結構化查詢語言 (SQL)) 資料庫之一就是MySQL Server,由瑞典的T.c.X. DataKonsultAB公司開發。MySQL可以從http://www.mysql.com/上下載,它提供了其它資料庫少有的編程工具,而且MySQL對於商業和個人使用者是免費的。如果想用MySQL開發應用軟體,必須支付一定的產品使用許可費用,具體情況可以訪問MySQL's licensing section。

MySQL的功能特點如下:
可以同時處理幾乎不限數量的使用者;
處理多達50,000,000以上的記錄;
命令執行速度快,也許是現今最快的;
簡單有效使用者特權系統。


MySQL的使用者?

MySQL在企業中使用非常廣泛,其中知名的公司有:

Silicon Graphics (http://www.sgi.com)

Siemens (http://www.siemens.com)

如果這些還不夠,你可以在MySQL使用者名稱單上看到更多。
這篇文章主要是向讀者對MySQL伺服器的基本操作進行簡單的介紹,其中包括怎樣建立串連,設定伺服器進行簡單的命令操作。這裡介紹的的命令是一些最重要的,因為它們是構成一些進階命令的基穿
MySQL通常對使用者來說是一種額外服務,所以在使用之前,請向新網ChinaDNS申請開設MySQL帳戶。


MySQL的環境

MySQL通常用Telnet進行登入(一個非常好的Telnet軟體名為Easyterm,可以從 http://www.arachnoid.com/下載)。我們向使用者推薦使用WinMysql 管理工具,下載網址是http://www.tcx.se/Downloads/Win32/myAdmin1.0.1.0.zip 通過Telnet與web伺服器串連後,第二個命令提供MySQL伺服器的登入。登入的步驟如下:


1. 串連到伺服器。


--------------------------------------------------------------------------------

login: devshed
Password: ********

Last login: Wed Aug 12 09:49:14 from 195.103.124.222
Copyright 1992, 1993, 1994, 1995, 1996 Berkeley Software Design, Inc.
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.

BSDI BSD/OS 2.1 Kernel #12: Mon Feb 23 13:46:27 EST 1998

You have new mail.
www24:mywww/devshed#


--------------------------------------------------------------------------------

2. 登入到MySQL帳戶。



--------------------------------------------------------------------------------
www24:mywww/devshed# mysql -u devshed -p
--------------------------------------------------------------------------------

Syntax: mysql -h hostname -u username -p[password]
Or
mysql -h hostname -u username --password=password

使用者會被提示輸入密碼。-p表示輸入密碼。


--------------------------------------------------------------------------------
Enter password: *******
--------------------------------------------------------------------------------

使用者會看見如下結果:


--------------------------------------------------------------------------------
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 49 to server version: 3.21.23-beta-log
Type 'help' for help.

mysql>
--------------------------------------------------------------------------------

登入到資料庫之後,我們就可以執行各種MySQL的命令,但在對資料庫操作之前必須要先調用資料庫,也就是與資料庫建立串連:


--------------------------------------------------------------------------------
mysql> use devshed;
--------------------------------------------------------------------------------

結果:


--------------------------------------------------------------------------------
Database changed
Mysql>
--------------------------------------------------------------------------------

現在你已經串連到資料庫。注意命令後面要加上分號(;),幾乎所有的MySQL命令都要加分號。有關管理資料庫的命令可以通過鍵入help, \h 或?列出來。


--------------------------------------------------------------------------------
mysql> help

help (\h) Display this
text ? (\h) Synonym for `help'
clear (\c) Clear command
connect (\r) Reconnect to the server. Optional arguments are db and host
edit (\e) Edit command with $EDITOR
exit (\) Exit mysql. Same as quit
go (\g) Send command to mysql server
print (\p) print current command
quit (\q) Quit mysql
rehash (\#) Rebuild completion hash
status ( ) Get status information from the server
use (\u) Use another database. Takes database name as argument

Connection id: 49 (Can be used with mysqladmin kill)

mysql>
--------------------------------------------------------------------------------

也許這些功能不會都能用上,但應該知道每一個命令都會做什麼。象命令status, use, print, connect, clear, 和quit在最開始學習使用時都會十分有用。現在,你應該對串連資料庫、選擇資料庫和運行基本命令都應該有一定的瞭解。下一步將講解有關對資料庫進行操作的基本概念和方法。


MySQL基礎

資料類型和表
資料庫其實不過是由不同層次的資料結構構成的。MySQL中可以存放塊(或記錄)資訊的結構就是表(table)。而這些記錄則由更小的資訊格式組成,即資料類型。一個或多個的資料類型組成了記錄。由記錄組成的表構成了資料庫的一部分。資料庫的層次可以表示如下:
Database < Table < Record < Datatype
資料類型有不同的形式和大小,這樣程式員就可以根據實際應用的需要建立表。選擇合適的資料類型對於資料庫的運行效能影響致關重要,所以詳細瞭解這些概念是十分重要的。


MySQL Datatypes 資料類型

MySQL支援各種資料類型(即使是編程新手也都基本熟悉)。常用的類型包括:


CHAR (M) 固定長度字元

用來表示固定長度的字串。字串的長度範圍是1-255。例如:car_model CHAR(10);


VARCHAR (M) 可變長度字元
VARCHAR是一個具有靈活性的字元資料類型。字串的長度範圍是1-255。 選用VARCHAR通常是比較明智的決定。儘管處理CHAR類型的資料比VARCHAR類型的資料要快,有時會快50%。(CHAR類型儲存的資料的長度是聲明變數時的固定長度,而不管資料的實際長度。VARCHAR儲存的是按資料的實際長度,從而減小了資料檔案的大些) car_model VARCHAR(10);


INT (M) [Unsigned] 整數類型
INT是整數類型,儲存整數的值範圍是-2147483648到2147483647。在宣告類型時可選用"unsigned",這樣值的範圍就是0到4294967295。
light_years INT;
合法整數: '-24567',非法整數: '3000000000'。
light_years INT unsigned;
合法整數: '3000000000',非法整數: '-24567'。
FLOAT [(M,D)] 浮點類型
FLOAT代表浮點類型,用來表示更精確的數字類型。
rainfall FLOAT (4,2);
這個變數可以用來表示一年當中的平均降水量,並精確到小數。FLOAT (4,2)表示數值一共可以有4位元字,小數點後有2位元字。請看下面哪些數值可以用上面的變數類型表示:
42.35是合法的
324.45是不合法的,將被修改為324.5
2.2 是合法的數值
34.542 不合法,將被修改為 34.54
注意:由於FLOAT會將數值四捨五入,所以如果不想讓數值隨意被更改,建議使用DECIMAL。

DATE 日期類型
用來存放日期資訊,預設的格式是'YYYY-MM-DD',日期範圍可以從'0000-00-00' 到 '9999-12-31'。聲明日期型變數the_date:the_date DATE;

TEXT / BLOB 文本和大對象
如果字串的長度超過了255,或者要將一篇文章儲存到資料庫中,CHAR和VARCHAR就無法使用了,這裡就要用到TEXT和BLOB類型,該類型可以儲存的字串長度在255 - 65535位元組內。BLOB是一個能儲存位元據的的大對象。BLOB和TEXT資料類型是一樣的,唯一的區別就是TEXT不區分大小寫,而BLOB區分大小寫。

SET 固定類型
一個SET是可以有零或多個值的一個字串對象,其每一個必須從表建立造被指定了的允許值的一張列表中被選擇。由多個集合成員組成的SET列通過由由逗號分隔(“,”)的成員被指定。SET類型最多可以64個值。
transport SET ("truck", "wagon") NOT NULL;
經過上面的聲明之後,transport可以有下面幾個值:
""
"truck"
"wagon"
"truck,wagon"

ENUM 枚舉類型
ENUM是與SET屬性相同的資料類型,但從中取值時只能取一個值。
transport ENUM ("truck", "wagon") NOT NULL;
經過上面的聲明之後,transport可以有下面幾個值:
""
"truck"
"wagon"
Records 記錄
一組資料類型就構成了記錄。一個記錄可以只有一個資料類型,也可以根據需要設定很多個。一個或多個記錄構成了一個表。
Tables 表
在我們可以對資料庫進行操作之前,必須建立一個可以存放資料的表。可以通過如下方法建立:
mysql> CREATE TABLE test (
> name VARCHAR (15),
> email VARCHAR (25),
> phone_number INT,
> ID INT NOT NULL AUTO_INCREMENT,
> PRIMARY KEY (ID));
輸出結果:
Query OK, 0 rows affected (0.10 sec)
mysql>
這樣你的第一個表就建成了。
所有的資料類型都可以使用下面的選項:
· 主索引值Primary Key。主索引值是用來將記錄區分開來,因為沒有兩個記錄能使用同一個主索引值。在必須要保持記錄的唯一性時,使用主索引值是非常有用的。
· Auto_Increment自動增量。使用了這個選項的列在每增加一個記錄時,都會自動將記錄在該列的值加1。
· NOT NULL非空變數。表示該列不能被分配為空白值。
例:
soc_sec_number INT PRIMARY KEY;
這樣soc_sec_number欄位就不能有重複的值。
ID_NUMBER INT AUTO_INCREMENT;
從1開始,自動按順序將後面的值在前面的基礎上增加1。


與表相關的命令

我們可以使用一些與表有關的命令:


顯示表內容

如果想顯示資料庫當中存在的所有表,可以使用命令show tables,mysql> show tables;

顯示列
mysql> show columns from test;
結果:
顯示出與表相關的列及資料。
現在你已經對建立表有了一個基本的認識。表是由資料類型構成的,所有的資料類型形成了記錄。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.