Day18 MySQL操作

1.多表聯(lián)合查詢

查詢沒有被購買過的商品
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;
查詢哪個商品是銷量冠軍
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;

  • 清空表
    truncate table 表名 清空表,id會從1開始
    delete from table 清空表,id從上次記錄的值開始
  • 創(chuàng)建用戶
    mysql -h ip地址 -u用戶名 -p
    create user 'test'@'ip' identified by '密碼'

02.索引

索引是什么?索引就是類似是目錄的東西
數(shù)據(jù)庫在查詢的時候,是一條一條挨著查呢。查詢效率太低了。
如何提高查詢效率?索引
如果在查詢的時候,經(jīng)常通過某個字段查詢,那就要考慮給這個字段添加索引。
索引的缺點:在插入的時候效率就比較低
索引有

  • 普通索引
  • 唯一索引 要確保唯一性
  • 主鍵索引 是特殊的唯一索引,但是不能為空
  • 全文索引

03.數(shù)據(jù)庫導(dǎo)入導(dǎo)出

數(shù)據(jù)庫里面的表可以導(dǎo)出來,導(dǎo)出來一般都是sql腳本的東西, data.sql
【注】版本,通過指令導(dǎo)出和通過不同的可視化工具導(dǎo)出,格式也不一樣。

mysql自帶的指令:

正常終端模式下
導(dǎo)出:mysqldump -uroot -p 數(shù)據(jù)庫名>c:\data.sql
導(dǎo)入:mysql -uroot -p 數(shù)據(jù)庫名<c:\data.sql
注意,導(dǎo)入之前首先創(chuàng)建一個新的數(shù)據(jù)庫

Navicat導(dǎo)出和導(dǎo)入:
右鍵==》轉(zhuǎn)儲sql文件
右鍵==》運行sql文件

04.python操作數(shù)據(jù)庫

需要使用到第三方庫:pymysql,在python交互界面輸入 import pymysql 看有沒有報錯,報錯了就是沒有它,沒報錯就是有它
安裝:pip install pymysql
代碼操作
port只能是整型

05.redis安裝和學(xué)習(xí)

什么是redis?是一個基于內(nèi)存的數(shù)據(jù)庫,計算機里面,有內(nèi)存,有硬盤
文件都在硬盤中存放,代碼在運行的時候,有一個變量a
內(nèi)存:讀寫快,但是斷電消失,不大
硬盤:讀寫慢,但是可以持久化保存,大,隨便存
什么是NoSQL? not only sql 非關(guān)系型數(shù)據(jù)庫
鍵值對,根據(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í)方式:指令交互,可視化,代碼操作

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容