MySQL學習筆記(3)查詢資料1

2021-09-29 15:37:23 字數 4365 閱讀 4662

-- 測試查詢操作

create table user(

id int unsigned auto_increment key,

username varchar(20) not null unique comment '編號',

age tinyint unsigned not null default 18 comment '年齡',

*** enum('男','女','保密') not null default '保密' comment '性別',

addr varchar(20) not null default '北京',

married tinyint(1) not null default 0 comment '0代表未結婚,1代表已婚',

salary float(8,2) not null default 0 comment '薪水'

)engine=innodb charset=utf8;

insert user values(1,'king',23,'男','北京',1,50000);

insert user(username,age,***,addr,married,salary) values('queen',27,'女','上海',0,25000);

insert user set username='imooc',age=31,***='女',addr='北京',salary=40000;

insert user values(null,'張三',38,'男','上海',0,15000),

(null,'張三風',38,'男','上海',0,15000),

(null,'張子軒',39,'女','北京',1,85000),

(null,'汪楊',42,'男','深圳',1,95000),

(null,'劉德凱',58,'男','廣州',0,115000),

(null,'吳峰',28,'男','北京',0,75000),

(null,'浦麗',18,'女','北京',1,65000),

(null,'劉小明',36,'女','廣州',0,15000);

-- 查詢表中所有記錄

select * from user;

-- username,addr,age

select username,addr,age from user;

-- 查詢mysql資料庫下user表中的所有記錄

select * from mysql.user;

-- 查詢user表中的id 編號 username 使用者名稱 *** 性別

select id as '編號',username as '使用者名稱', *** as '性別'

from user;

-- 給表起別名

select id,username from user as u;

-- 測試表名.欄位名

select user.id,user.username,user.age from user ;

select u.id,u.username,u.addr,u.*** from user as u;

-- 測試where 條件的比較運算子

-- 查詢id,username,age id=5的使用者

select id,username,age from user

where id=5;

select id,username,age from user

where id=50;

-- 新增desc欄位 varchar(100)

alter table user

add userdesc varchar(100);

-- 更新id<=9的使用者 userdesc='this is a test'

update user set userdesc='this is a test'

where id<=9;

-- 查詢使用者userdesc 為null的使用者

select id,username,age,userdesc from user

where userdesc=null;

-- 檢測null值

select id,username,age,userdesc from user

where userdesc<=>null;

-- is [not] null檢測null值

select id,username,age,userdesc from user

where userdesc is not null;

-- 測試範圍between and

-- 查詢年齡在18~30之間的使用者

select id,username,age,*** from user

where age between 18 and 30;

-- 查詢薪水在10000~50000之間的使用者

select id,username,age,salary from user

where salary between 10000 and 50000;

select id,username,age,salary from user

where salary not between 10000 and 50000;

-- 測試指定集合 in

-- 查詢編號為1,3,5,7,9

select id,username,age from user

where id in(1,3,5,7,9,29,45,78);

select id,username,age from user

where username in('king','queen','lily','rose');

-- 測試邏輯運算子

-- 查詢性別為男並且年齡》=20的使用者

select id,username,age,*** from user

where ***='男' and age>=20;

-- id>=5 && age<=30

select id,username,age,*** from user

where id>=5 and age<=30;

select id,username,age,*** from user

where id>=5 and age<=30 and ***='男';

-- 要求***='女' 並且 addr='北京'

select id,username,age,***,addr from user

where ***='女' and addr='北京';

-- 查詢薪水範圍在60000~10000並且性別為男 addr='北京'

select id,username,age,***,salary,addr from user

where salary between 60000 and 100000 and ***='男' and addr='北京';

-- 查詢id=1 或者 使用者名為queen

select id,username,age from user

where id=1 or username='queen';

-- 測試模糊查詢

select id,username,age from user

where username='king';

select id,username,age from user

where username like 'king';

-- 要求使用者名稱中包含三

select id,username,age,*** from user

where username like '%三%';

-- 使用者名稱中包含n

select id,username,age from user

where username like '%in%';

-- 要求查詢出姓張的使用者

select id,username,age from user

where username like '張%';

-- 查詢以風結尾的使用者

select id,username,age from user

where username like '%風';

-- 使用者名稱長度為三位的使用者

select id,username,age,*** from user

where username like '___';

select id,username,age,*** from user

where username like '張_';

select id,username,age,*** from user

where username like '張_%';

MySQL查詢資料 學習筆記

資料查詢是dbms最重要的功能,本節介紹如何使用select語句查詢資料表中的一列或多列資料,使用集合函式顯示查詢結果,連線查詢,子查詢以及使用正規表示式進行查詢等。連線查詢 內連線,外連線。復合條件連線查詢,新增過濾條件,限制查詢的結果。子查詢,指乙個查詢語句巢狀在另乙個查詢語句內部的查詢,先查詢...

mysql學習筆記(3)

資料表索引設定 目的 加速搜尋 檢視現有索引 show index from user g 語句以 g 結尾可以使顯示結果行列轉置,方便檢視 1.主鍵索引 primary key eg 給字段id加主鍵索引 建立表時新增 id int unsigned auto increment primary ...

MySQL學習筆記3

標籤 空格分隔 筆記 mysql 通過inner join on關鍵字實現 具體語法 select field1,field2,fieldn from table name inner join join table on join condition 這裡注意的是on後面其實跟的就是外來鍵約束中相...