在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
而後建立了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了,固然還有些複雜的語句,咱們將在後續繼續學習。