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