MySQL系列:MySQL的基本使用

數(shù)據(jù)庫(kù)的基本操作

在MySQL數(shù)據(jù)庫(kù)中,對(duì)于一個(gè)MySQL示例,是可以包含多個(gè)數(shù)據(jù)庫(kù)的。

在連接MySQL后,我們可以通過(guò) show databases; 來(lái)進(jìn)行查看有那么數(shù)據(jù)庫(kù)。這里已經(jīng)存在一些庫(kù)了,其中information_schema、auth、mysql、performance_schema這幾個(gè)庫(kù)時(shí)是MySQL內(nèi)置的(不同版本略有差異)。

那如何新建自己的數(shù)據(jù)庫(kù)呢?使用CREATE DATABASE 數(shù)據(jù)庫(kù)名; 即可。

CREATE DATABASE 數(shù)據(jù)庫(kù)名;

這里我們已經(jīng)成功創(chuàng)建了mysql_xuexi這個(gè)數(shù)據(jù)庫(kù)了,然后我們?cè)俅蝧how databases; 查詢,就可以看到mysql_xuexi已經(jīng)在列表了。

在建完這個(gè)庫(kù)后,我覺(jué)得取得名字不好,想改成mysql_study,因?yàn)檫€沒(méi)有任何表在里面,所以我想刪了重建(如果有表存在,修改數(shù)據(jù)庫(kù)名還是有些復(fù)雜的,所以取名這件事生下來(lái)還是要慎重對(duì)待)。

刪除數(shù)據(jù)庫(kù)使用DROP DATABASE 數(shù)據(jù)庫(kù)名;語(yǔ)句、

DROP DATABASE 數(shù)據(jù)庫(kù)名;

當(dāng)然刪庫(kù)是一個(gè)危險(xiǎn)的動(dòng)作,為了避免刪庫(kù)跑路,刪庫(kù)前務(wù)必做兩件事,一確認(rèn)自己沒(méi)有發(fā)燒,二確認(rèn)自己的確認(rèn)是對(duì)的。這里我的庫(kù)剛建的,所以確認(rèn)無(wú)誤了。

然后創(chuàng)建了mysql_study數(shù)據(jù)庫(kù),那我們現(xiàn)在想使用這個(gè)庫(kù),該怎么做?

我們需要先切換到該庫(kù)下,使用USE 數(shù)據(jù)庫(kù)名稱;語(yǔ)句。

USE 數(shù)據(jù)庫(kù)名稱;

切換到對(duì)應(yīng)庫(kù)后,我們可以使用SHOW TABLES;來(lái)查看庫(kù)中的表。因?yàn)閯倓倓?chuàng)建的,還是熱乎的,所以里面什么也沒(méi)有。

表的基本操作

那我們快來(lái)創(chuàng)建第一個(gè)表吧,使用CREATE TABLE 語(yǔ)句,當(dāng)然還需要定義表的列屬性等。

CREATE TABLE 表名 (
    列名1    數(shù)據(jù)類型    [列的屬性],
    列名2    數(shù)據(jù)類型    [列的屬性],
    ...
    列名n    數(shù)據(jù)類型    [列的屬性]
);

例如我們創(chuàng)建最簡(jiǎn)單的user表,包含int類型的id,和varchar(5)的name列。

CREATE TABLE user (
    id         INT,
    name    VARCHAR(5)
);

對(duì)于創(chuàng)建的表,我們可以使用以下命令查看具體細(xì)節(jié)。

DESC 表名;
DESCRIBE 表名;
EXPLAIN 表名;
SHOW COLUMNS FROM 表名;
SHOW FIELDS FROM 表名;

對(duì)于數(shù)據(jù)庫(kù)的名字,修改不方便, 那表呢?更改表名還是比較容易的,使用ALTER TABLE 表名 RENAME TO 新的表名;即可

ALTER TABLE 表名 RENAME TO 新的表名;

這樣就將表名改為了user_info。那如果要?jiǎng)h除表呢?使用DROP TABLE 表名;

DROP TABLE 表名;

列的基本操作

刪完了我又默默將user表創(chuàng)建回來(lái)了,因?yàn)檫€要繼續(xù)使用呢。

如果我們想在user表中增加列屬性,如何操作?

ALTER TABLE 表名 ADD COLUMN 列名 數(shù)據(jù)類型 [列的屬性];

新增age列。

如果要修改列,可以使用下面的語(yǔ)句,MODIFY只支持改列的屬性,而CHANGE支持修改列名稱和列屬性。

# 修改列屬性
ALTER TABLE 表名 MODIFY 列名 新數(shù)據(jù)類型 [新屬性];
# 修改列名稱
ALTER TABLE 表名 CHANGE 舊列名 新列名 新數(shù)據(jù)類型 [新屬性];

比如age,我想改成user_age,且長(zhǎng)度只想定義為2位。

要?jiǎng)h除列,既然有ADD、MODIFY、CHANGE,那就應(yīng)該有DROP,沒(méi)錯(cuò)。

ALTER TABLE 表名 DROP 列名;

數(shù)據(jù)的基本操作

有了表,也會(huì)操作基本的列,但我們平時(shí)說(shuō)的增刪改查,沒(méi)有數(shù)據(jù)怎么叫增刪改查,所以我們需要來(lái)點(diǎn)兒數(shù)據(jù)。

使用INSERT插入數(shù)據(jù),在不指定列的時(shí)候,按列的順序插入,而且必須是列的值必須包含全量的列,而聲明列則自由的多

INSERT INTO 表名 VALUES(列1的值,列2的值, ...);
INSERT INTO 表名(列1, 列2, ...) VALUES(列1的值,列2的值, ...);

例如在user表插入數(shù)據(jù)。

INSERT INTO user VALUES(1,'zs');
INSERT INTO user(id,name) VALUES(2,'ls');
 INSERT INTO user(name,id) VALUES('ww',3);

至于查詢,相信你已經(jīng)看到了,使用SELECT語(yǔ)句,SELECT * FROM 表名;是最基本的查詢,*表示查看所有的列屬性,查詢一般需要配合WHERE等條件篩選,操作較復(fù)雜,后面會(huì)繼續(xù)深入。

SELECT 列1, 列2, ... FROM 表名 [WHERE條件];

修改數(shù)據(jù),我們使用UPDATE語(yǔ)句。更新的本質(zhì)是修改那些符合條件的數(shù)據(jù),也即先查詢出對(duì)應(yīng)數(shù)據(jù),然后再對(duì)其做更改。所以一般查詢也是需要結(jié)合WHERE語(yǔ)句的,不帶WHERE的語(yǔ)句會(huì)將表中的數(shù)據(jù)全部更改,這個(gè)日常中一定要注意。


UPDATE 表名 SET 列1=列的新值1, 列2=列的新值2, ... [WHERE 條件]

至于刪除,使用DELETE語(yǔ)句,該語(yǔ)句一樣是個(gè)危險(xiǎn)語(yǔ)句,注意千萬(wàn)要帶上WHERE,除非你是真的要?jiǎng)h除所有數(shù)據(jù),或者一時(shí)腦子發(fā)燒了。

DELETE FROM 表名 [WHERE 條件];

至此,MySQL的基本使用就差不多OK了,當(dāng)然還有些復(fù)雜的語(yǔ)句,我們將在后續(xù)繼續(xù)學(xué)習(xí)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ORA-00001: 違反唯一約束條件 (.) 錯(cuò)誤說(shuō)明:當(dāng)在唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí),會(huì)觸發(fā)此異常。 O...
    我想起個(gè)好名字閱讀 5,936評(píng)論 0 9
  • 什么是數(shù)據(jù)庫(kù)? 數(shù)據(jù)庫(kù)是存儲(chǔ)數(shù)據(jù)的集合的單獨(dú)的應(yīng)用程序。每個(gè)數(shù)據(jù)庫(kù)具有一個(gè)或多個(gè)不同的API,用于創(chuàng)建,訪問(wèn),管理...
    chen_000閱讀 4,131評(píng)論 0 19
  • 1. 了解SQL 1.1 數(shù)據(jù)庫(kù)基礎(chǔ) ? 學(xué)習(xí)到目前這個(gè)階段,我們就需要以某種方式與數(shù)據(jù)庫(kù)打交道。在深入學(xué)習(xí)MyS...
    鋒享前端閱讀 1,310評(píng)論 0 1
  • 手動(dòng)不易,轉(zhuǎn)發(fā)請(qǐng)注明出處 --Trance 數(shù)據(jù)庫(kù)系統(tǒng)命令: (1).查看存儲(chǔ)過(guò)程狀態(tài):show pro...
    Trance_b54c閱讀 1,827評(píng)論 0 8
  • 早年間,東街南邊楚家大小姐看上了他爹門下的書生,一家子均不同意,那時(shí)候她才是個(gè)十三出頭的姑娘,現(xiàn)在四年過(guò)去了,都成...
    落英冰封閱讀 754評(píng)論 2 7

友情鏈接更多精彩內(nèi)容