mysql 系列第一天這篇文章是黑馬程式設計師 mysql 教程的筆記,好好學習哦。
和 mysql 資料庫的互動
客戶端單向連線認證:連線伺服器,認證身份。
mysql 資料庫屬於 c/s 架構,所以開啟伺服器程式後,需要通過客戶端連線它。mysql 會自帶乙個客戶端程式,可以直接輸入賬號和密碼即可連線。
如果你是在 windows 系統上使用 mysql ,那麼可以通過 cmd 命令開啟命令列視窗,輸入以下指令,同樣可以連線上 mysql 伺服器程式。首先要配置 path 環境變數,這樣就可以不用輸入 mysql.exe 的完整路徑,作業系統也能找到這個可執行檔案。mysql -hlocalhost -p3306 -uroot -p //此時回車,緊接著輸入密碼再回車,就可以連線上 mysql 伺服器了。
//其中 -h 表示 mysql 伺服器程式所在主機的位址, -p 表示應用程式所使用的埠號, -u 表示使用者名稱, -p 表示密碼
客戶端傳送 sql 指令 show databases; //查詢所有資料庫
伺服器端接受指令,處理指令並返回結果
客戶端接受結果,並顯示結果。
客戶端斷開連線,釋放資源,sql 指令為 exit
全程截圖如下:
sql 基本操作
在學習sql 指令使可以按照操作物件分為三類:資料庫操作指令,資料表操作指令,資料操作指令。
庫操作指令
新增資料庫:
create database 資料庫名字 [庫選項]create database newdatabase cahrset utf8;
執行新增操作後,mysql 伺服器程式會在它的 data 資料夾中建立乙個以資料庫名字命名的資料夾,資料夾內還有乙個 db.opt 檔案,裡面儲存的是庫選項,內容如下:default-character-set=utf8 //預設字符集是 utf8
default-collation=utf8_general_ci //預設校對集是 utf8_general_ci
//字符集很好理解,這裡的校對集是什麼呢?通常從資料庫中查詢資料時候,需要進行資料的比對,比如按照價格公升序取出,這個校對集就是一種規定如何進行比對的規範
查詢資料庫:show databases; //查詢 dbms 中所有的資料庫
show databases like 'my%' //這是模糊查詢的方式,如果有轉義字元,不要忘了轉義
show create database newdatabase; //查詢建立某個資料庫的 sql 語句
//此處查詢後發現和自己寫的 sql 語句不一樣,只是因為 mysql 在執行指令前,會先優化 sql 語句,再執行。
更新資料庫:
資料庫的修改僅限於修改庫選項:alter database 資料庫名 charset 字符集 collate 校對集alter database newdatabase charset gbk
//此指令執行後,db.opt 檔案的字符集選項同時會立即更改,因為校對集依賴於字符集,所以它也會隨之改變
刪除資料庫:drop database newdatabase;
// 刪除指令執行後,它在磁碟上的檔案也會刪除
表操作指令
新增資料表:
create table [if not exists] 表名 (欄位名字 資料型別 ,欄位名字 資料型別 )[表選項] ;create table student(
name varchar(11),
gender varchar(11),
number varchar(11),
age int
//資料庫執行此操作後,缺省會生成乙個對應的表檔案
檢視資料表:show tables; //檢視次資料庫所有表
show tables like 's%'; //模糊查詢
show create student; //檢視表建立語句
show columns from student //檢視表結構,也就是檢視表的欄位名
修改資料表:
表本身可以修改,修改表名和表選項rename table student to ne_student; //修改表名
alter table ne_student chaeset gbk; //修改表選項
專案寫著就發現資料庫設計的不夠合理,需要更改,掌握修改字段真的很重要。
alter table ne_student add id int first;//新增 id 欄位到表的第乙個位置、
alter table ne_student add phone varchar(11) after age; //新增 phone 欄位到 age 後面
alter table ne_student modify gender varchar(10); //修改 gender 欄位的資料長度
alter table ne_student change gender *** varchar(10); //重新命名 gender 為 ***
alter table ne_student drop ***; //刪除 *** 字段
刪除資料表drop table student; //刪除 student 單張表
drop table ne_student,ne_teacher; //刪除多張表
資料操作指令
插入資料:insert into ne_student(id,name) values(1,'kk'); //這種插入操作只要欄位名和值對應就可以了,並不需要全部欄位都寫上。
insert into ne_student values(2,'kkk','male','123'); //這種插入操作,就必須要按照表中字段的順序,每乙個欄位都插入相對應的值。
檢視資料:select * from ne_student; //檢視所有資料
select * from ne_student where name like 'k%'; //限制查詢條件
//關於查詢的操作非常多,這裡只是簡單展示下
更新資料:
update 表名 set 字段 = 值 [where條件];update ne_student set id = 3 where name = 'kkk'; //將 kkk 的 id 改為 3
刪除資料:delete form ne_student where name='kkk';//刪除名字為 kkk 的這條記錄
//這裡之所以能夠查詢,是因為校對集在起作用
講到這裡,對於資料庫、表、,表中字段以及資料的增刪改查都已經展示完了。主要還是起到乙個建立框架的作用,明確資料庫中有哪些物件,針對這些物件來進行相應操作。
庫選項的相關介紹
學習程式設計時,通常會遇到中文亂碼問題。其實總結下來,就是因為編碼和解碼採用不同的字符集,產生了亂碼。mysql 資料庫自然不能免俗啊。
通過show charsets; 可以檢視 mysql 支援的所有字符集,它預設採用的是 utf-8 編碼,只要同一字符集就不會出現亂碼問題。
通過show collation; 可以檢視 mysql 支援的所有校對集,有 129 種,不要驚訝,這是因為校對集是依賴於字符集的,每種字符集都有幾種校對集。
校對集有三種格式:
_bin: binary 二進位制比較, 取出二進位制位,一位一位的比較, 區分大小寫。例如,資料庫會認為 aaa 不等於 aaa;
_cs: case sensitive 大小寫敏感, 區分大小寫。例如,資料庫會認為 aaa 不等於 aaa;
_ci: case insensitice 大小寫不敏感,不區分大小寫。例如,資料庫會認為 aaa 等於 aaa;
所以,我們要根據實際情況,選擇對應的校對集。
第一天MySQL學習
資料庫的管理 顯示所有資料庫show databases 使用資料庫use databasename 資料庫建立create database dbname 資料庫刪除drop database dbname 表的管理 顯示所有表show tables 建立表create table 顯示表定義原始...
mysql第一天 架構
mysql最大的特色就是把查詢處理與 實際的資料儲存和提取 儲存引擎 的操作分開了。其整體的架構如下 max connections 200檢視當前變數配置 show variables like max c 下面的命令還能檢視具體的當前連線的資訊 show processlist 雖然mysql自...
MYSQL第一天學習
在dbms出現之前 上世紀60年代 資料管理都是靠檔案來實現,而檔案管理的缺陷特別多 檔案儲存的機制 對使用者看來就是乙個儲存了很多文字行資料的邏輯虛擬實體,稱之為標示層 存放在磁碟上的是元資料和存放在資料塊上的資料,稱之為物理層。在這兩個之間有乙個建立對應關係的邏輯層,是檔案系統,檔案系統類似於標...