常見面試題:如何從一個大項目中,迅速定位執行速度慢的 SQL 語句?此時可以使用慢查詢定位 SQL 語句。慢查詢,故名思義,就是在日志中記錄運行比較慢的 SQL 語句,是指所有執行超過 long_query_time 參數設定的時間閾值的 SQL 語句查詢
辰風沐陽 閱讀 1565 2022-05-14
設計表的依據,按照范式設計出來的表,不會出現數據的冗余。數據庫的設計范式是數據庫設計所需要滿足的規范,滿足這些規范的數據庫是簡潔的、結構清晰的;反之則是亂七八糟,不僅會給開發人員制造麻煩,還可能存儲了大量冗余數據
辰風沐陽 閱讀 1474 2022-05-14
MySQL 的存儲引擎其實就是如何存儲數據、如何建立索引、如何查詢和更新數據等技術的實現方法。事務和外鍵:MyISAM 強調的是性能,它的執行速度比 InnoDB 更快,但是不支持事務和外鍵功能;InnoDB 支持事務和外鍵等高級數據庫功能
辰風沐陽 閱讀 1487 2022-05-08
在文章表 article 中有個標簽字段 tags,一個文章可以有多個標簽, 標簽 id: 1 html 2 css 3 javascript, tags 以 1,2,3 的格式存儲標簽,那么我們可以使用 find_in_set 查找出 tags 中有 1 的標簽
辰風沐陽 閱讀 1721 2021-12-18
這個錯誤發生在mysql 5.7 版本及以上版本,5.7版本默認的sql_mode配置中包含 `ONLY_FULL_GROUP_BY`,這個配置嚴格執行了"SQL92標準"。解決方案: 去除 sql_mode 中的 only_full_group_by
辰風沐陽 閱讀 2185 2021-08-28
如果我們需要修改或更新 MySQL 中的數據,我們可以使用 SQL UPDATE 命令來操作。沒有修改條件時將修改表中所有的數據,需要注意;replace 函數:替換某個字段中的某個字符,比如 password = replace(password, 'bcd', '666')
辰風沐陽 閱讀 1943 2020-10-10
delete 刪除數據的速度慢,truncate 刪除數據的速度快。delete 支持事務,可以進行事務回滾;truncate 不支持事務,不能執行事務回滾。delete 支持帶條件的刪除,可以只刪除某一條數據;truncate 則不行,只能用于刪除表中的所有數據。delete 刪除不會重置自動增長(auto_increment),truncate 則會重置自動增長的值,重新以 1 開始。delete 可以觸發 `觸發器`,truncate 則不行
辰風沐陽 閱讀 1805 2020-10-10
不指定字段名,所有字段必須給值;指定部分字段添加,沒有被指定的字段 `要么會自動增長,要么允許為 null,要么有默認值`;添加一條數據時也可以用 `insert ... set`,該方式不能用于一次添加多條數據;添加多條數據:values(數據1),(數據2)
辰風沐陽 閱讀 2270 2020-10-07
MySQL5.7 修改用戶密碼:方法一 ALTER USER root@'localhost' IDENTIFIED BY '123456'; 方法二 set password for root@localhost = '123456'; 方法三:mysqladmin -u用戶名 -p[密碼] password [新密碼]
辰風沐陽 閱讀 1915 2020-09-26
備份指定的數據庫,默認包含表數據:mysqldump -u用戶名 -p[密碼] 庫名 > 文件路徑。導出指定數據庫中的所有表的結構,不要表中的數據:mysqldump -u用戶名 -p[密碼] -d 庫名 > 文件路徑
辰風沐陽 閱讀 2068 2020-09-22