MySQL簡(jiǎn)明教程
進(jìn)入mysql時(shí),你需要提供一個(gè)MySQL用戶和此用戶的口令。如果數(shù)據(jù)庫(kù)運(yùn)行在其它機(jī)器上,而不是你所在的這臺(tái)機(jī)器上,你需要指定主機(jī)名。
命令:
mysql -h <主機(jī)名> -u <用戶名> -p <數(shù)據(jù)庫(kù)名>
Enter password: ********
********代表你的口令;當(dāng)mysql顯示Enter password:提示時(shí)輸入它。
MYSQL 有缺省庫(kù)mysql, 在此系統(tǒng)中,缺省的口令為空,打回車(chē)即可。
例如,在此機(jī)器上,你可以敲入:
# mysql -u root -p mysql
Enter password:
屏幕如下提示:
Welcome to the MySQL monitor. Commands end with ; or .
Your MySQL connection id is 459 to server version: 3.22.23a-log
Type 'help' for help.
mysql>
這就進(jìn)入了mysql 的工作環(huán)境, 進(jìn)入到名為mysql 的數(shù)據(jù)庫(kù)中。
你可看見(jiàn)mysql>提示后的一些介紹信息:
提示符 mysql> 告訴你mysql準(zhǔn)備為你輸入命令。
我是通過(guò)cmd方式進(jìn)入mysql的,先將目錄選到..\MySQL\MySQL Server 5.0\bin>下,再在它后面敲入 mysql -hlocalhost -uroot -p<root的密碼> 按回車(chē)就可以進(jìn)去了
退出MySQL
在你成功地連接后,你可以在mysql>提示下打入QUIT隨時(shí)斷開(kāi):
mysql> QUIT
Bye
你也可以鍵入control-D斷開(kāi)。
在之前要指出的是:一條操作即是一條SQL語(yǔ)句,注意隨后要跟上一個(gè)分號(hào),以標(biāo)志此條語(yǔ)句的結(jié)束。而且一條SQL 語(yǔ)句不必全在一個(gè)單獨(dú)行給出,可以寫(xiě)入多行,最后以分號(hào)結(jié)束此語(yǔ)句的輸入。
在之前要指出的是:一條操作即是一條SQL語(yǔ)句,注意隨后要跟上一個(gè)分號(hào),以標(biāo)志此條語(yǔ)句的結(jié)束。而且一條SQL 語(yǔ)句不必全在一個(gè)單獨(dú)行給出,可以寫(xiě)入多行,最后以分號(hào)結(jié)束此語(yǔ)句的輸入。
創(chuàng)建數(shù)據(jù)庫(kù)
命令:CREATE DATABASE <數(shù)據(jù)庫(kù)名>
例如,建立一個(gè)名為 test 的數(shù)據(jù)庫(kù)
mysql> CREATE DATABASE test;
刪除數(shù)據(jù)庫(kù)
命令: DROP DATABASE <數(shù)據(jù)庫(kù)名>
例如,刪除名為 test 的數(shù)據(jù)庫(kù)
mysql> DROP DATABASE test
連接數(shù)據(jù)庫(kù)
命令: USE <數(shù)據(jù)庫(kù)名>
例如,如果test數(shù)據(jù)庫(kù)存在,嘗試存取它:
mysql> USE test
屏幕提示:
Database changed
建表
命令:CREATE TABLE <表名> ( <字段名1> <類(lèi)型1> [,..<字段名n> <類(lèi)型n>]);
例
如,建立一個(gè)名為table_1的表,此表記錄班上的人員及平均成績(jī),那么用字段 id 代表編號(hào),為數(shù)字類(lèi)型,且編號(hào)唯一,不能為空, 缺省值為 0
; 用字段 name 代表人名,為字符型,不為空;用字段 degree 代表成績(jī),為數(shù)字型,可為空。編號(hào)id 為此表的關(guān)鍵字。建表如下:
mysql> CREATE TABLE table_1 (
> id INT(4) DEFAULT '0' NOT NULL,
> name CHAR(20) NOT NULL
> degree DOUBLE(16,2) ,
> PRIMARY KEY(id));
刪除表
命令:DROP TABLE <表名>
例如,刪除表名為 table_1 的表
mysql> DROP TABLE table_1;
插入數(shù)據(jù)
命令:INSERT INTO <表名> [( <字段名1>[,..<字段名n > ])]
VALUES ( 值1 )[, ( 值n )]
例如,往表 test 中插入二條記錄, 這二條記錄表示:編號(hào)為1的名為joan 的成績(jī)?yōu)?6.45, 編號(hào)為2 的名為jeanny 的成績(jī)?yōu)?2.99.
mysql> INSERT INTO test VALUES(1,'joan',96.45),(2,'jeanny',82.99);
查詢表中的數(shù)據(jù)
命令: SELECT <字段1,字段2,...> FROM < 表名 > WHERE < 表達(dá)式 >
例如,查看表 test 中所有數(shù)據(jù)
mysql> SELECT * FROM test;
屏幕顯示:
+----+-------------+----------+
| id | name | degree |
+----+-------------+----------+
| 1 | joan | 96.45 |
| 2 | jeanny | 82.99 |
+----+-------------+----------+
刪除表中數(shù)據(jù)
命令: DELETE FROM < 表名 > WHERE < 表達(dá)式 >
例如,刪除表 test 中編號(hào)為1 的記錄
mysql> DELETE FROM test WHERE id=1;
字段類(lèi)型
1.INT[(M)]
正常大小整數(shù)類(lèi)型
2.DOUBLE[(M,D)] [ZEROFILL]
正常大小(雙精密)浮點(diǎn)數(shù)字類(lèi)型
3.DATE
日期類(lèi)型。支持的范圍是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式來(lái)顯示DATE值,但是允許你使用字符串或數(shù)字把值賦給DATE列
4.CHAR(M)
定長(zhǎng)字符串類(lèi)型,當(dāng)存儲(chǔ)時(shí),總是是用空格填滿右邊到指定的長(zhǎng)度
5.BLOB TEXT
BLOB或TEXT類(lèi)型,最大長(zhǎng)度為65535(2^16-1)個(gè)字符。
6.VARCHAR
變長(zhǎng)字符串類(lèi)型
1: 顯示數(shù)據(jù)庫(kù)
SHOW DATABASES,
2:當(dāng)前選擇的數(shù)據(jù)庫(kù),
mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| test ;
+------------+
| DATABASE() |
+------------+
| test |
+------------+
3: 當(dāng)前數(shù)據(jù)庫(kù)包含的表信息:
mysql> SHOW TABLES;
+---------------------+
| Tables in test
mysql> SHOW TABLES;
+---------------------+
| Tables in test |
+---------------------+
| mytable1 |
| mytable2 |
+---------------------+
4: 獲取表結(jié)構(gòu)
mysql> desc mytable1;
+---------+-------------+------+-----+---------+-------+
| Field mysql> desc mytable1;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| s1 | varchar(20) | YES |NULL | |
+---------------------+------+-----+---------+-------+
導(dǎo)入數(shù)據(jù)庫(kù)表
(1)創(chuàng)建.sql文件
(2)先產(chǎn)生一個(gè)庫(kù)如auction.c:mysqlbin>mysqladmin -u root -p creat auction,會(huì)提示輸入密碼,然后成功創(chuàng)建。
(2)導(dǎo)入auction.sql文件
c:mysqlbin>mysql -u root -p auction < auction.sql。
通過(guò)以上操作,就可以創(chuàng)建了一個(gè)數(shù)據(jù)庫(kù)auction以及其中的一個(gè)表auction。
修改數(shù)據(jù)庫(kù)
(1)在mysql的表中增加字段:
alter table dbname add column userid int(11) not null primary key auto_increment;
這樣,就在表dbname中添加了一個(gè)字段userid,類(lèi)型為int(11)。
mysql數(shù)據(jù)庫(kù)的授權(quán)
mysql>grant select,insert,delete,create,drop
on *.* (或test.*/user.*/..)
to 用戶名@localhost
identified by "密碼"; //還是建議使用這種!
如:新建一個(gè)用戶帳號(hào)以便可以訪問(wèn)數(shù)據(jù)庫(kù),需要進(jìn)行如下操作:
mysql> grant usage
-> ON test.*
-> TO testuser@localhost;
Query OK, 0 rows affected (0.15 sec)
此后就創(chuàng)建了一個(gè)新用戶叫:testuser,這個(gè)用戶只能從localhost連接到數(shù)據(jù)庫(kù)并可以連接到test 數(shù)據(jù)庫(kù)。下一步,我們必須指定testuser這個(gè)用戶可以執(zhí)行哪些操作:
mysql> GRANT select, insert, delete,update
-> ON test.*
-> TO testuser@localhost;
Query OK, 0 rows affected (0.00 sec)
此操作使testuser能夠在每一個(gè)test數(shù)據(jù)庫(kù)中的表執(zhí)行SELECT,INSERT和DELETE以及UPDATE查詢操作?,F(xiàn)在我們結(jié)束操作并退出MySQL客戶程序:
mysql> exit
Bye
posted on 2008-01-17 14:07 魯勝迪 閱讀(451) 評(píng)論(1) 編輯 收藏