MySQL系列:MySQL的基本使用

數據庫的基本操做

在MySQL數據庫中,對於一個MySQL示例,是能夠包含多個數據庫的。java

在鏈接MySQL後,咱們能夠經過 show databases; 來進行查看有那麼數據庫。這裏已經存在一些庫了,其中information_schema、auth、mysql、performance_schema這幾個庫時是MySQL內置的(不一樣版本略有差別)。mysql

那如何新建本身的數據庫呢?使用CREATE DATABASE 數據庫名; 便可。sql

CREATE DATABASE 數據庫名;

這裏咱們已經成功建立了mysql_xuexi這個數據庫了,而後咱們再次show databases; 查詢,就能夠看到mysql_xuexi已經在列表了。數據庫

在建完這個庫後,我以爲取得名字很差,想改爲mysql_study,由於尚未任何表在裏面,因此我想刪了重建(若是有表存在,修改數據庫名仍是有些複雜的,因此取名這件事生下來仍是要慎重對待)。學習

刪除數據庫使用DROP DATABASE 數據庫名;語句、3d

DROP DATABASE 數據庫名;

固然刪庫是一個危險的動做,爲了不刪庫跑路,刪庫前務必作兩件事,一確認本身沒有發燒,二確認本身的確認是對的。這裏個人庫剛建的,因此確認無誤了。code

67ac8d458fed1bf9e6ac50fcf91f0067.png

而後建立了mysql_study數據庫,那咱們如今想使用這個庫,該怎麼作?orm

咱們須要先切換到該庫下,使用USE 數據庫名稱;語句。blog

USE 數據庫名稱;

切換到對應庫後,咱們可使用SHOW TABLES;來查看庫中的表。由於剛剛建立的,仍是熱乎的,因此裏面什麼也沒有。io

表的基本操做

那咱們快來建立第一個表吧,使用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了,固然還有些複雜的語句,咱們將在後續繼續學習。

相關文章
相關標籤/搜索