溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL的使用方法有哪些

發(fā)布時間:2021-12-08 09:13:11 來源:億速云 閱讀:123 作者:iii 欄目:云計(jì)算

這篇文章主要介紹“MySQL的使用方法有哪些”,在日常操作中,相信很多人在MySQL的使用方法有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MySQL的使用方法有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

1、啟動MySQL服務(wù)器

實(shí)際上上篇已講到如何啟動MySQL。兩種方法:

一是用winmysqladmin,如果機(jī)器啟動時已自動運(yùn)行,則可直接進(jìn)入下一步操作。

二是在DOS方式下運(yùn)行

 d:/mysql/bin/mysqld

2、進(jìn)入mysql交互操作界面

在DOS方式下,運(yùn)行:

d:/mysql/bin/mysql -u root -p

 出現(xiàn)提示符,此時已進(jìn)入mysql的交互操作方式。

如果出現(xiàn) "ERROR 2003: Can‘t connect to MySQL server on ‘localhost‘ (10061)“,說明你的MySQL還沒有啟動。

3、退出MySQL操作界面

 在mysql>提示符下輸入quit可以隨時退出交互操作界面:

mysql> quit

Bye

你也可以用control-D退出。

4、第一條命令

mysql> select version(),current_date();

+----------------+-----------------+

| version()   | current_date() |

+----------------+-----------------+

| 3.23.25a-debug | 2001-05-17   |

+----------------+-----------------+

1 row in set (0.01 sec)

此命令要求mysql服務(wù)器告訴你它的版本號和當(dāng)前日期。嘗試用不同大小寫操作上述命令,看結(jié)果如何。

結(jié)果說明mysql命令的大小寫結(jié)果是一致的。

練習(xí)如下操作:

mysql>Select (20+5)*4;

mysql>Select (20+5)*4,sin(pi()/3);

mysql>Select (20+5)*4 AS Result,sin(pi()/3); (AS: 指定假名為Result)

5、多行語句

一條命令可以分成多行輸入,直到出現(xiàn)分號“;”為止:

mysql> select

  -> USER()

  -> ,

  -> now()

  ->;

+--------------------+-----------------------------+

| USER()               | now()                           |

+--------------------+-----------------------------+

| ODBC@localhost| 2001-05-17 22:59:15  |

+--------------------+-----------------------------+

6、使用SHOW語句找出在服務(wù)器上當(dāng)前存在什么數(shù)據(jù)庫:

mysql> SHOW DATABASES;

+----------+

| Database |

+----------+

| mysql  |

| test   |

+----------+

3 rows in set (0.00 sec)

7、創(chuàng)建一個數(shù)據(jù)庫abccs

mysql> CREATE DATABASE abccs;

注意不同操作系統(tǒng)對大小寫的敏感。

8、選擇你所創(chuàng)建的數(shù)據(jù)庫

mysql> USE abccs

Database changed

此時你已經(jīng)進(jìn)入你剛才所建立的數(shù)據(jù)庫abccs.

9、 創(chuàng)建一個數(shù)據(jù)庫表

首先看現(xiàn)在你的數(shù)據(jù)庫中存在什么表:

mysql> SHOW TABLES;

Empty set (0.00 sec)

說明剛才建立的數(shù)據(jù)庫中還沒有數(shù)據(jù)庫表。下面來創(chuàng)建一個數(shù)據(jù)庫表mytable:

我們要建立一個你公司員工的生日表,表的內(nèi)容包含員工姓名、性別、出生日期、出生城市。

mysql> CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1),

-> birth DATE, birthaddr VARCHAR(20));

Query OK, 0 rows affected (0.00 sec)

由于name、birthadd的列值是變化的,因此選擇VARCHAR,其長度不一定是20??梢赃x擇從

1到255的任何長度,如果以后需要改變它的字長,可以使用ALTER TABLE語句。);

性別只需一個字符就可以表示:"m"或"f",因此選用CHAR(1);

birth列則使用DATE數(shù)據(jù)類型。

創(chuàng)建了一個表后,我們可以看看剛才做的結(jié)果,用SHOW TABLES顯示數(shù)據(jù)庫中有哪些表:

mysql> SHOW TABLES;

+---------------------+

| Tables in menagerie |

+---------------------+

| mytables      |

+---------------------+

10、顯示表的結(jié)構(gòu):

mysql> DESCRIBE mytable;

+-------------+-------------+------+-----+---------+-------+

| Field    | Type    | Null | Key | Default | Extra |

+-------------+-------------+------+-----+---------+-------+

| name    | varchar(20) | YES |   | NULL  |    |

| sex     | char(1)   | YES |   | NULL  |    |

| birth    | date    | YES |   | NULL  |    |

| deathaddr  | varchar(20) | YES |   | NULL  |    |

+-------------+-------------+------+-----+---------+-------+

11、查詢所有數(shù)據(jù):

mysql> select * from mytable;

+----------+------+------------+----------+

| name   | sex | birth   | birthaddr |

+----------+------+------------+--------+

| abccs  |f  | 1977-07-07 | china   |

| mary   |f  | 1978-12-12 | usa    |

| tom   |m  | 1970-09-02 | usa    |

+----------+------+------------+----------+

3 row in set (0.00 sec)

12、修正錯誤記錄:

假如tom的出生日期有錯誤,應(yīng)該是1973-09-02,則可以用update語句來修正:

mysql> update mytable set birth = "1973-09-02" where name = "tom";

再用2中的語句看看是否已更正過來。

13、選擇特定行

上面修改了tom的出生日期,我們可以選擇tom這一行來看看是否已經(jīng)有了變化:

mysql> select * from mytable where name = "tom";

+--------+------+------------+------------+

| name  |sex | birth   | birthaddr     |

+--------+------+------------+------------+

| tom  |m  | 1973-09-02 | usa    |

+--------+------+------------+------------+

1 row in set (0.06 sec)

上面WHERE的參數(shù)指定了檢索條件。我們還可以用組合條件來進(jìn)行查詢:

mysql> SELECT * FROM mytable WHERE sex = "f" AND birthaddr = "china";

+--------+------+------------+------------+

| name  |sex | birth   | birthaddr     |

+--------+------+------------+------------+

| abccs |f  | 1977-07-07 | china   |

+--------+------+------------+------------+

1 row in set (0.06 sec)

14、 多表操作

前面我們熟悉了數(shù)據(jù)庫和數(shù)據(jù)庫表的基本操作,現(xiàn)在我們再來看看如何操作多個表。

在一個數(shù)據(jù)庫中,可能存在多個表,這些表都是相互關(guān)聯(lián)的。我們繼續(xù)使用前面的例子。前面建立的表中包含了員工的一些基本信息,如姓名、性別、出生日期、出生地。我們再創(chuàng)建一個表,該表用于描述員工所發(fā)表的文章,內(nèi)容包括作者姓名、文章標(biāo)題、發(fā)表日期。

1、查看第一個表mytable的內(nèi)容:

mysql> select * from mytable;

+----------+------+------------+-----------+

| name   | sex | birth   | birthaddr |

+----------+------+------------+-----------+

| abccs  |f   | 1977-07-07 | china   |

| mary   |f   | 1978-12-12 | usa    |

| tom   |m   | 1970-09-02 | usa    |

+----------+------+------------+-----------+

2、創(chuàng)建第二個表title(包括作者、文章標(biāo)題、發(fā)表日期):

mysql> create table title(writer varchar(20) not null,

-> title varchar(40) not null,

-> senddate date);

向該表中填加記錄,最后表的內(nèi)容如下:

mysql> select * from title;

+--------+-------+------------+

| writer | title | senddate  |

+--------+-------+------------+

| abccs | a1  | 2000-01-23 |

| mary  | b1  | 1998-03-21 |

| abccs | a2  | 2000-12-04 |

| tom  | c1  | 1992-05-16 |

| tom  | c2  | 1999-12-12 |

+--------+-------+------------+

5 rows in set (0.00sec)

3、多表查詢

現(xiàn)在我們有了兩個表: mytable 和 title。利用這兩個表我們可以進(jìn)行組合查詢:

例如我們要查詢作者abccs的姓名、性別、文章:

mysql> SELECT name,sex,title FROM mytable,title

-> WHERE name=writer AND name=‘a(chǎn)bccs‘;

+-------+------+-------+

| name | sex | title |

+-------+------+-------+

| abccs | f  | a1  |

| abccs | f  | a2  |

+-------+------+-------+

上面例子中,由于作者姓名、性別、文章記錄在兩個不同表內(nèi),因此必須使用組合來進(jìn)行查詢。必須要指定一個表中的記錄如何與其它表中的記錄進(jìn)行匹配。

注意:如果第二個表title中的writer列也取名為name(與mytable表中的name列相同)而不是writer時,就必須用mytable.name和title.name表示,以示區(qū)別。

再舉一個例子,用于查詢文章a2的作者、出生地和出生日期:

mysql> select title,writer,birthaddr,birth from mytable,title

-> where mytable.name=title.writer and title=‘a(chǎn)2‘;

+-------+--------+-----------+------------+

| title | writer | birthaddr | birth   |

+-------+--------+-----------+------------+

| a2  | abccs | china   | 1977-07-07 |

+-------+--------+-----------+------------+

15、增加一列:

如在前面例子中的mytable表中增加一列表示是否單身single:

mysql> alter table mytable add column single char(1);

16、修改記錄

將abccs的single記錄修改為“y”:

mysql> update mytable set single=‘y‘ where name=‘a(chǎn)bccs‘;

現(xiàn)在來看看發(fā)生了什么:

mysql> select * from mytable;

+----------+------+------------+-----------+--------+

| name   | sex | birth   | birthaddr | single |

+----------+------+------------+-----------+--------+

| abccs  |f   | 1977-07-07 | china   | y   |

| mary   |f   | 1978-12-12 | usa    | NULL  |

| tom   |m   | 1970-09-02 | usa    | NULL  |

+----------+------+------------+-----------+--------+

17、增加記錄

前面已經(jīng)講過如何增加一條記錄,為便于查看,重復(fù)與此:

mysql> insert into mytable

-> values (‘a(chǎn)bc‘,‘f‘,‘1966-08-17‘,‘china‘,‘n‘);

Query OK, 1 row affected (0.05 sec)

查看一下:

mysql> select * from mytable;

+----------+------+------------+-----------+--------+

| name   | sex | birth   | birthaddr | single |

+----------+------+------------+-----------+--------+

| abccs  |f   | 1977-07-07 | china   | y   |

| mary   |f   | 1978-12-12 | usa    | NULL  |

| tom   |m   | 1970-09-02 | usa    | NULL  |

| abc   |f   | 1966-08-17 | china   | n   |

+----------+------+------------+-----------+--------+

18、刪除記錄

用如下命令刪除表中的一條記錄:

mysql> delete from mytable where name=‘a(chǎn)bc‘;

DELETE從表中刪除滿足由where給出的條件的一條記錄。

再顯示一下結(jié)果:

mysql> select * from mytable;

+----------+------+------------+-----------+--------+

| name   | sex | birth   | birthaddr | single |

+----------+------+------------+-----------+--------+

| abccs  |f   | 1977-07-07 | china   | y   |

| mary   |f   | 1978-12-12 | usa    | NULL  |

| tom   |m   | 1970-09-02 | usa    | NULL  |

+----------+------+------------+-----------+--------+

19、刪除表:

mysql> drop table ****(表1的名字),***表2的名字;

可以刪除一個或多個表,小心使用。

20、數(shù)據(jù)庫的刪除:

mysql> drop database 數(shù)據(jù)庫名;

小心使用。

21、數(shù)據(jù)庫的備份:

退回到DOS:

mysql> quit

d:mysqlbin

使用如下命令對數(shù)據(jù)庫abccs進(jìn)行備份:

mysqldump --opt abccs>abccs.dbb

abccs.dbb就是你的數(shù)據(jù)庫abccs的備份文件。

22、用批處理方式使用MySQL:

首先建立一個批處理文件mytest.sql,內(nèi)容如下:

use abccs;

select * from mytable;

select name,sex from mytable where name=‘a(chǎn)bccs‘;

在DOS下運(yùn)行如下命令:

d:mysqlbin mysql < mytest.sql

在屏幕上會顯示執(zhí)行結(jié)果。

如果想看結(jié)果,而輸出結(jié)果很多,則可以用這樣的命令:

mysql < mytest.sql | more

我們還可以將結(jié)果輸出到一個文件中:

mysql < mytest.sql > mytest.out

23. 請先用root登錄到mysql,方法:

 c:/mysql/bin/mysql -u root -p  

24.創(chuàng)建一個用戶

 mysql> GRANT ALL PRIVILEGES ON javatest.* TO javauser@"%"  

     ->   IDENTIFIED BY "javadude" ;

到此,關(guān)于“MySQL的使用方法有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI