MYSQL數據庫入門
2024-07-24 12:54:54
供稿:網友
中國最大的web開發資源網站及技術社區,
mysql數據庫入門
mysql簡介
什么是mysql?
mysql是一個多用戶、多線程的sql數據庫,是一個客戶機/服務器結構的應用,它由一個服務器守護程序mysqld和很多不同的客戶程序和庫組成。
sql (structured query language結構化查詢語言)是目前使用最廣的并且是標準的數據庫語言。sql語言使得存取或更新信息變得十分容易,你可以直接使用sql從網站上查詢信息。mysql的快速和靈活性足以滿足一個網站的信息管理工作。數據庫與用戶端之間的接口程序可以使用cgi進行通信。新網chinadns使用的是php,使用php和mysql這兩樣東西加在一起,對于開發數據驅動的網站這項工作而言是最佳組合。php是一種用于服務器端執行程序解釋的腳本語言。如果你接觸過asp的話,那么您對于在html頁面中嵌入代碼應該是比較熟悉了。php代碼在服務器一端被解釋、執行并轉變成普通的html頁面內容,送給瀏覽器一端。這種模式使得我們可以用它來完成相當復雜的功能。
為什么用mysql?
現在每一個人的生活幾乎都離不開數據庫,如果沒有數據庫,很多事情都會變得非常棘手,也許根本無法做得到。銀行、大學和圖書館就是幾個嚴重依賴數據庫系統的地方。在互聯網上,使用搜索引擎、在線購物甚至是訪問網站地址(http://www...)都離不開數據庫。一個數據庫通常都安裝在稱為數據庫服務器的計算機上。目前市場上運行最快的 sql (structured query language結構化查詢語言) 數據庫之一就是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;
結果:
顯示出與表相關的列及數據。
現在你已經對創建表有了一個基本的認識。表是由數據類型構成的,所有的數據類型形成了記錄。