學習之路 MySQL(2)

2021-07-10 15:12:48 字數 3059 閱讀 1361

看完上篇部落格之後,應該mysql的開發環境都配置好了,現在入正題,學習下mysql的用法

一、mysql的語句規範

(1)關鍵字與函式名稱是要全部大寫的,例如 show、alter、

(2)資料名稱,欄位名稱,表名稱是要全部小寫的

(3)sql語句必須以英文分號 ; 結尾

二、對資料進行操作(通俗的說,就是找到對應倉庫(資料庫),對應貨架(資料表),對應資料(貨物)才能處理)

1、關於資料庫

顯示當前伺服器下的資料庫的sql語句:show databases

若出現這種情況

這時就需要更改一下密碼,直接輸入

mysql>set password = password("新密碼」);

就重新設定密碼了

然後重新開啟cmd,用新密碼登入賬戶,然後

(1)顯示當前伺服器下的資料庫的sql語句:show databases;

如圖所示的四個資料庫是預設存在的資料庫

(2)如何建立乙個資料庫呢,sql語句:create database 資料庫名 【 default】 character set  = 字符集名; //其中【】意思是可有可無,常用字符集utf8

這時再用show databases就看到多了一行了

一般不建議改名,因為如果其中的資料被引用的時候,改名可能會導致出錯

(4)也可以通過sql語句;drop database 資料庫名;

來刪除不想要的資料庫

2、關於資料表

確定好資料庫後,就要運算元據表了

(1)先用關鍵字use來開啟指定資料庫

(2)建立資料表,sql語句:

create table 表名(

列名  資料型別,

列名  資料型別,

……列名  資料型別

ps:記得用逗號隔開,至於資料型別,寫到資料方面的時候會具體說

(3)檢視資料表列表,sql語句:show tables 【from 資料庫名稱】

(4)檢視資料表結構,sql語句:show columns from 表名;

(5)對錶結構的一些解釋

a.空值與非空:null——字段值可以為空;not null——字段值不可以為空

b.約束(key):這個有點複雜,下面詳細講

c.預設值(default):當插入記錄時,如果沒有為字段賦值,則自動賦予預設值

(6)修改資料表

a.新增單列,sql語句:alter table 表名 add 列名 列定義【first|after 列名】;

b.新增多列,sql語句:alter table 表名 add (列名 列定義,列名 列定義,……);

c.刪除列,sql語句:alter table 表名 drop 列名;

d.修改列定義,sql語句:alter table 表名 modify 列名 列定義【first|after 列名】;

e.修改列名稱,sql語句:alter table 表名 change 舊列名  新列名 列定義【first|after 列名】;

f. 資料表改名:方法一:alter table 表名 rename 【to/as】新錶名;

方法二:rename table 表名 to 新錶名【,表名 to 新錶名……】;

(7)約束:

a.約束,有條件限制的意思,可以保證資料的完整性和一致性

b.約束型別:

1、primary key constraint(主鍵約束)   —— 一張資料表只存在乙個主鍵,並且不允許為空(預設)。保證記錄的唯一性,要求主鍵列唯一

例如id,每個人的名字,年齡等都可以完全相同,但id不一樣,就可通過id來辨識不同人。

2、unique constraint(唯一約束)   —— 一張表可以存在多個唯一約束,允許為空,但只能出現乙個空值。保證記錄的唯一性,要求約束列唯一

3、foreign key constraint(外來鍵約束) —— 用於在兩個表之間建立關係(實現一對一,一對多的關係),需要指定引用主表的哪一列

傲嬌的要求:

(1)、父表和子表必須使用同樣的儲存引擎innodb(儲存引擎後面會講)

(2)、外來鍵列和參照列必須有相似的資料型別

4、default constraint(預設約束)   —— 某列的預設值,如在資料庫裡有一項資料很多重複,可以設為預設值。

5、not null(非空約束) ——指定某列不為空

ps:給id加上主鍵約束,name新增唯一約束,age新增預設約束,score新增非空約束,grade新增外來鍵約束與表follow聯絡在一起,表follow中的grade新增主鍵

其中主鍵id出現 的auto_increment可以自動從1開始賦值,每次加一,且一定要與主鍵一起使用,但是主鍵不一定與auto_increment一起使用。

Python之路 關於MySQL(2)

關於對mysql中表內容的一些操作 增 insert into 表 列名,列名.values 值,值,值.insert into 表 列名,列名.values 值,值,值.值,值,值.insert into 表 列名,列名.select 列名,列名.from 表 刪 delete from 表 de...

MySQL(2) 關聯對映

1.多表的關係,一對一,一對多,多對多 2.實現關聯的方法 3.以mysql舉例 建立country表 主鍵是name 建立presidengt表 主鍵是name 對應關係 乙個國家對應乙個 乙個 對應乙個國家。country表中的name對應president表中的f country name。指...

mysql(2)許可權管理

1.初始化完成之後的使用者 只有乙個root使用者,5.6及之前的版本是沒有密碼的,5.7會產生隨機密碼,在初始化時可以看到,在配置日誌檔案中也可以檢視。2.使用者的許可權管理步驟 1 檢查使用者的 hip和使用者名稱是否被允許 2 檢視mysql.user表是否存在該使用者,這裡沒有許可權設定,預...