看完上篇部落格之後,應該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表是否存在該使用者,這裡沒有許可權設定,預...