1.多表聯(lián)合查詢
- 查詢沒(méi)有被購(gòu)買過(guò)的商品
select goods.name from goods left join user on goods.gid=user.gid where user.id is NULL; - 查詢哪類商品是銷量冠軍
select category, count(*) as c from user join goods on user.gid=goods.gid group by category order by c desc limit 1; - 查詢哪個(gè)商品是銷量冠軍
select goods.name, goods.price, count(*) as c from user join goods on user.gid=goods.gid group by goods.name order by c desc limit 1; - 分組只能寫(xiě)分組字段和統(tǒng)計(jì)字段明也,寫(xiě)其它字段報(bào)錯(cuò)
進(jìn)入mysql執(zhí)行如下指令
SET @@GLOBAL.sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"; - 清空表
truncate table 表名 清空表,id會(huì)從1開(kāi)始
delete from table 清空表,id從上次記錄的值開(kāi)始 - 創(chuàng)建用戶
mysql -h ip地址 -u用戶名 -p
create user 'test'@'ip' identified by '密碼'
2.索引
索引是什么办素?索引就是個(gè)東西角雷,類似是目錄的東西
數(shù)據(jù)庫(kù)在查詢的時(shí)候,是一條一條挨著查呢性穿。查詢效率太低了勺三。
如何提高查詢效率?索引
如果在查詢的時(shí)候需曾,經(jīng)常通過(guò)某個(gè)字段查詢吗坚,那就要考慮給這個(gè)字段添加索引。
索引的缺點(diǎn):在插入的時(shí)候效率就比較低
- 索引有
普通索引
唯一索引 要確保唯一性
主鍵索引 是特殊的唯一索引呆万,但是不能為空
全文索引
3.數(shù)據(jù)庫(kù)導(dǎo)入導(dǎo)出
- 數(shù)據(jù)庫(kù)里面的表可以導(dǎo)出來(lái)商源,導(dǎo)出來(lái)一般都是sql腳本的東西, data.sql
【注】版本桑嘶,通過(guò)指令導(dǎo)出和通過(guò)不同的可視化工具導(dǎo)出炊汹,格式也不一樣。 - mysql自帶的指令:
正常終端模式下
導(dǎo)出:mysqldump -uroot -p 數(shù)據(jù)庫(kù)名>c:\data.sql
導(dǎo)入:mysql -uroot -p 數(shù)據(jù)庫(kù)名<c:\data.sql
注意逃顶,導(dǎo)入之前首先創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù) - Navicat導(dǎo)出和導(dǎo)入:
右鍵==》轉(zhuǎn)儲(chǔ)sql文件
右鍵==》運(yùn)行sql文件
4.python操作數(shù)據(jù)庫(kù)
需要使用到第三方庫(kù):pymysql讨便,在python交互界面輸入 import pymysql 看有沒(méi)有報(bào)錯(cuò),報(bào)錯(cuò)了就是沒(méi)有它以政,沒(méi)報(bào)錯(cuò)就是有它
安裝之:pip install pymysql
代碼操作之
port只能是整型
5.redis安裝和學(xué)習(xí)
什么是redis霸褒?是一個(gè)基于內(nèi)存的數(shù)據(jù)庫(kù),計(jì)算機(jī)里面盈蛮,有內(nèi)存废菱,有硬盤(pán)
文件都在硬盤(pán)中存放,代碼在運(yùn)行的時(shí)候抖誉,有一個(gè)變量a
內(nèi)存:讀寫(xiě)快殊轴,但是斷電消失,不大
硬盤(pán):讀寫(xiě)慢袒炉,但是可以持久化保存旁理,大,隨便存
什么是NoSQL我磁? not only sql 非關(guān)系型數(shù)據(jù)庫(kù)
鍵值對(duì)孽文,根據(jù)鍵立馬就可以得到值
redis、MongoDB
redis官網(wǎng):redis.io redis.cn
5種數(shù)據(jù)類型:字符串(string)夺艰、列表(list)芋哭、集合(set)、哈希(hash)郁副、有序集合(zset)
redis官網(wǎng)只有l(wèi)inux版本的减牺,不支持windows
學(xué)習(xí)方式:指令交互,可視化,代碼操作