Mysql已經(jīng)成為了最流行的關(guān)系型數(shù)據(jù)庫之一,目前最新的mysql版本已到了8.0了,另外它算的上是php的好基友,曾經(jīng)的lamp架構(gòu)風(fēng)靡一時(shí)。今天我們來看看數(shù)據(jù)庫的一些操作。
首先聲明,我演示的mysql的版本是5.7.28這個(gè)版本。
新建數(shù)據(jù)庫
首先教大家一個(gè)技巧,忘記了建庫語法怎么辦,MYSQL提供了help來幫助你。比如,你忘記了建庫語句,只知道開頭命令是create。那么可以在MySQL的客戶端輸入help craete;
mysql> help create …… topics: CREATE DATABASE CREATE EVENT CREATE FUNCTION CREATE FUNCTION UDF ……
現(xiàn)在,我們知道了建庫語句前兩個(gè)單詞了,繼續(xù)help,看看具體的語法是怎樣的。
mysql> help create database …… CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification] ... create_specification: [DEFAULT] CHARACTER SET [=] charset_name | [DEFAULT] COLLATE [=] collation_name ……
現(xiàn)在我們就知道具體的語法是怎樣的了。
語法:
create database [if not exists] 數(shù)據(jù)庫名 [ [charset 字符集名] [collate 校對(duì)集名] ]
-
if not exists表示該數(shù)據(jù)庫不存在時(shí)候才建立
-
字符集這個(gè)和html字符集是一個(gè)意思,通常選擇有utf8或utf8mb4
-
校對(duì)集這個(gè)是和字符間比對(duì)和排序相關(guān)。
下面來完成一個(gè)job庫的建立
mysql> CREATE DATABASE IF NOT EXISTS jobs -> CHARSET utf8 -> COLLATE utf8_general_ci; Query OK, 1 row affected (0.01 sec)
查看數(shù)據(jù)庫
當(dāng)一個(gè)庫建立好了,就需要去查看下,看看是不是真的建立了。
查看數(shù)據(jù)庫的語法如下:
show databases [like patter]
該命令能夠展示所有的數(shù)據(jù)庫,以及可以按模式來查找數(shù)據(jù)庫。
現(xiàn)在我們來看看目前有多少個(gè)庫
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | jobs | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec)
那如果我想查找以s結(jié)尾的庫有哪些,怎樣去查
mysql> SHOW DATABASES LIKE '%s'; +---------------+ | Database (%s) | +---------------+ | jobs | | sys | +---------------+ 2 rows in set (0.00 sec)
選擇數(shù)據(jù)庫
如果我們想在數(shù)據(jù)庫里建表、或新增或刪除數(shù)據(jù)等操作,首先必須要做的操作是選定該數(shù)據(jù)庫。只有選定了數(shù)據(jù)庫,這些操作才有意義、才能正確執(zhí)行。
選擇數(shù)據(jù)庫的操作非常簡單,語法如下:
use 數(shù)據(jù)庫名
mysql> USE jobs; Database changed
這樣,就選定了jobs這個(gè)庫。
修改庫
當(dāng)我發(fā)現(xiàn)建立的時(shí)候,字符集或校對(duì)集設(shè)置的不對(duì)的時(shí)候,該如何更改呢?
語法:
ALTER DATABASES 庫名 CHASET 字符集名 COLLATE 校對(duì)集名
可以看到,修改和新增的操作基本一樣,除了CREATE改為了ALTER。
刪除庫
之前建立的庫名識(shí)jobs,但現(xiàn)在覺得最后的s可以不要。那么可以更改庫名嗎?不好意思,庫名是修改不了的,只能先刪除庫jobs,然后重新建立庫job。
刪庫語法:
DROP DATABASE [IF EXISTS] 庫名
mysql> DROP DATABASE IF EXISTS jobs; Query OK, 0 rows affected (0.01 sec) mysql> CREATE DATABASE job -> CHARSET utf8mb4 -> COLLATE utf8mb4_general_ci; Query OK, 1 row affected (0.00 sec)
注意:刪除是一個(gè)極度危險(xiǎn)的操作。真的刪庫跑路就慘了哦!