mysql 第一天_MySQL 系列第一天

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

全程截圖如下:

970c721c04745787680d6029f6d567af.png

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 sex varchar(10); //重命名 gender 為 sex

alter table ne_student drop sex; //刪除 sex 字段

刪除數據表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;

所以,我們要根據實際情況,選擇對應的校對集。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值