1. 程式人生 > >mysql之單表查詢__我自己敲的程式碼

mysql之單表查詢__我自己敲的程式碼

1、select * from person; #檢視全部

2、select name,sex from person;   #只選擇name和sex這兩列name和sex之間有一個逗號的

3、select name,sex as '性別' from person #將name和sex兩列選擇出來,並將sex這一列的列名字改名字為性別,或者是為欄位起別名

4、select salary+200 from person;  #將person中的salary列選出來,並將salary中資料都加200

5、select DISTINCT age from person;  #將age這一列中重複的資料去除,或者是去重查詢

 

條件查詢: where為關鍵字,後面跟條件

(1)運算子:

6、select * from person where age>20    #查找出age列中年齡大於20的

另外一些邏輯符號:>=表示大於等於   <>表示不等於   !=也是表示不等於

 

(2)關鍵字:null

7、select * from person where dept_id is null; #查詢dept_id列中沒有值的那個人

     另:select * from person where dept_id is null; #查詢dept_id列中有值的人

null 用來判斷一個數字是不是為空 如上面

‘ ’  用來表示空的字串

如  select * from person where name=''; #查詢name列中沒有名字的那一個人

 

person表中我刪除了 一個人的名字,那就必須用 =‘ ‘來查詢了 因為name為字串

(3)區間查詢

 8、select * from person where age=28 and salary>5000; #查詢年齡為28歲且工資大於5k的人

另外的邏輯運算子: or 或 ; and 與; 

 select * from person where not(age=28 and salary>5000); #查詢年齡 不 為28歲且工資大於5k的人    非

9、select * from person where age BETWEEN 18 and 20; #查詢age列中年齡在18和20之間的人 BETWEEN 18 and 20表示18和20之間

10、select * from person where id in(1,3,5);  #查詢id=1,3,5的人

       select * from person where id=1 or id=3 or id=5;  #也可以用這一個代替

 

11、select * from person where name like 'e%'; #查詢名字以字母e開頭的人

 

 12、select * from person where name like '%e%'; #查詢名字中包含字母e的人

 

13、select * from person where name like '%e'; #查詢名字以e結尾的人

14、select * from person where name like '__e%'; #e前邊有兩個下劃線,一個下劃線表示一個佔位符(任意的字母) 所以兩個下劃線就表示兩個任意的字母,這句話的意思就是查詢第三個字母為e的人

15、select * from person where name like '____%';  #有四個下劃線,表示名字為四個字元的人

(4)排序查詢

16、select * from person ORDER BY salary;  #將salary中的資料進行排序 

 

select * from person ORDER BY salary esc;  #將salary中的資料進行排序 預設為esc,esc可以不用寫,esc表示正序排序

select * from person ORDER BY salary desc;  #desc表示將salary中的資料進行倒序排序 

多條件的要把order by寫在後邊,如

select * from person where age>20  ORDER BY salary desc;  #將age列中資料大於20的資料選出來之後對salary進行排序

 

17、中文(uft8)不支援排序, 但是gbk支援中文排序

CONVERT(name USING gbk)  #將name中的資料編碼格式轉為gbk格式的

 select * from person ORDER BY convert(name USING gbk);  #將namme轉為gbk之後進行排序,其中字母和漢字是分開排序的

 

18、show VARIABLES like 'char%'; #查詢各種編碼方式

 

18、mysql中安裝目錄中沒有my.ini的解決方法:

自己建立一個my.ini  然後把下面的複製進去,再重啟服務(net start mysql) 即可

#修改方法:
#1. 建立my.ini檔案,放在mysql根路徑下
#2. 在該檔案中新增以下內容即可:
#3.新增此檔案後需要重新啟動服務,以保證此檔案生效
------------------------------------------------------------
[client]

default-character-set=utf8

[mysql]

#設定mysql客戶端預設字符集

default-character-set=utf8

[mysqld]

#設定3306埠

port = 3306

#允許最大連線數

max_connections=200

#服務端使用的字符集預設為8位元編碼的latin1字符集

character-set-server=utf8

#建立新表時將使用的預設儲存引擎

default-storage-engine=INNODB

#解決mysql在執行sql語句後出現1055錯誤,sql_mode = only_full_group_by不相容

sql_mode='NO_ENGINE_SUBSTITUTION'
my.ini中的內容

 

2019.01.05  昨天更改結束了數字訊號的考試,考的賊差,考完有種會掛科的感覺,這幾天一直在想如果掛科會怎麼樣,真的是很難過......

今天終於搞定了考試之前沒有搞定的Navicat for mysql這個軟體,並且學了一些sql語言相關的東西,收穫還是很多的

當然晚飯回來看了一下別人給我推薦的電影  重慶森林  王菲真的是好可愛~

haijing in HZ 

good night