資料庫的基本操作 在MySQL資料庫中,對於一個MySQL示例,是可以包含多個資料庫的。 在連接MySQL後,我們可以通過 show databases; 來進行查看有那麼資料庫。這裡已經存在一些庫了,其中information_schema、auth、mysql、performance_schem ...
資料庫的基本操作
在MySQL資料庫中,對於一個MySQL示例,是可以包含多個資料庫的。
在連接MySQL後,我們可以通過 show databases; 來進行查看有那麼資料庫。這裡已經存在一些庫了,其中information_schema、auth、mysql、performance_schema這幾個庫時是MySQL內置的(不同版本略有差異)。
那如何新建自己的資料庫呢?使用CREATE DATABASE 資料庫名; 即可。
CREATE DATABASE 資料庫名;
這裡我們已經成功創建了mysql_xuexi這個資料庫了,然後我們再次show databases; 查詢,就可以看到mysql_xuexi已經在列表了。
在建完這個庫後,我覺得取得名字不好,想改成mysql_study,因為還沒有任何表在裡面,所以我想刪了重建(如果有表存在,修改資料庫名還是有些複雜的,所以取名這件事生下來還是要慎重對待)。
刪除資料庫使用DROP DATABASE 資料庫名;語句、
DROP DATABASE 資料庫名;
當然刪庫是一個危險的動作,為了避免刪庫跑路,刪庫前務必做兩件事,一確認自己沒有發燒,二確認自己的確認是對的。這裡我的庫剛建的,所以確認無誤了。
然後創建了mysql_study資料庫,那我們現在想使用這個庫,該怎麼做?
我們需要先切換到該庫下,使用USE 資料庫名稱;語句。
USE 資料庫名稱;
切換到對應庫後,我們可以使用SHOW TABLES;來查看庫中的表。因為剛剛創建的,還是熱乎的,所以裡面什麼也沒有。
表的基本操作
那我們快來創建第一個表吧,使用CREATE TABLE 語句,當然還需要定義表的列屬性等。
CREATE TABLE 表名 (
列名1 數據類型 [列的屬性],
列名2 數據類型 [列的屬性],
...
列名n 數據類型 [列的屬性]
);
例如我們創建最簡單的user表,包含int類型的id,和varchar(5)的name列。
CREATE TABLE user (
id INT,
name VARCHAR(5)
);
對於創建的表,我們可以使用以下命令查看具體細節。
DESC 表名;
DESCRIBE 表名;
EXPLAIN 表名;
SHOW COLUMNS FROM 表名;
SHOW FIELDS FROM 表名;
對於資料庫的名字,修改不方便, 那表呢?更改表名還是比較容易的,使用ALTER TABLE 表名 RENAME TO 新的表名;即可
ALTER TABLE 表名 RENAME TO 新的表名;
這樣就將表名改為了user_info。那如果要刪除表呢?使用DROP TABLE 表名;
DROP TABLE 表名;
列的基本操作
刪完了我又默默將user表創建回來了,因為還要繼續使用呢。
如果我們想在user表中增加列屬性,如何操作?
ALTER TABLE 表名 ADD COLUMN 列名 數據類型 [列的屬性];
新增age列。
如果要修改列,可以使用下麵的語句,MODIFY只支持改列的屬性,而CHANGE支持修改列名稱和列屬性。
# 修改列屬性
ALTER TABLE 表名 MODIFY 列名 新數據類型 [新屬性];
# 修改列名稱
ALTER TABLE 表名 CHANGE 舊列名 新列名 新數據類型 [新屬性];
比如age,我想改成user_age,且長度只想定義為2位。
要刪除列,既然有ADD、MODIFY、CHANGE,那就應該有DROP,沒錯。
ALTER TABLE 表名 DROP 列名;
數據的基本操作
有了表,也會操作基本的列,但我們平時說的增刪改查,沒有數據怎麼叫增刪改查,所以我們需要來點兒數據。
使用INSERT插入數據,在不指定列的時候,按列的順序插入,而且必須是列的值必須包含全量的列,而聲明列則自由的多
INSERT INTO 表名 VALUES(列1的值,列2的值, ...);
INSERT INTO 表名(列1, 列2, ...) VALUES(列1的值,列2的值, ...);
例如在user表插入數據。
INSERT INTO user VALUES(1,'zs');
INSERT INTO user(id,name) VALUES(2,'ls');
INSERT INTO user(name,id) VALUES('ww',3);
至於查詢,相信你已經看到了,使用SELECT語句,SELECT * FROM 表名;是最基本的查詢,*表示查看所有的列屬性,查詢一般需要配合WHERE等條件篩選,操作較複雜,後面會繼續深入。
SELECT 列1, 列2, ... FROM 表名 [WHERE條件];
修改數據,我們使用UPDATE語句。更新的本質是修改那些符合條件的數據,也即先查詢出對應數據,然後再對其做更改。所以一般查詢也是需要結合WHERE語句的,不帶WHERE的語句會將表中的數據全部更改,這個日常中一定要註意。
UPDATE 表名 SET 列1=列的新值1, 列2=列的新值2, ... [WHERE 條件]
至於刪除,使用DELETE語句,該語句一樣是個危險語句,註意千萬要帶上WHERE,除非你是真的要刪除所有數據,或者一時腦子發燒了。
DELETE FROM 表名 [WHERE 條件];
至此,MySQL的基本使用就差不多OK了,當然還有些複雜的語句,我們將在後續繼續學習。