SQL雜記

出自Tan Kian-ting的維基
於 2023年12月31日 (日) 23:17 由 Tankianting討論 | 貢獻 所做的修訂
跳至導覽 跳至搜尋

SQL Pocket Guide的一些記錄

Ch1. 概論-Ch4

  • SQL分成:
    • Microsoft SQL
    • MySQL
    • Oracle Database
    • PostgreSQL
    • SQLite
  • 另有ANSI SQL這個標準
Select * from 表格名稱;
select... comment
from ..
where...
having...
group by 

口訣:sweaty feet wll give hirroble odors

執行順序:

  1. from 取得所有資料
  2. where 過濾資料
  3. group by 組群於類間
  4. having 過濾群
  5. select 選擇欄
  6. order by 排序結果


欄位、foreign key(FK)、一對多、一對一等、primary key (PK)

有些程式語言提供library操作SQL資料庫

資料庫瀏覽

  • DBBrowser for sqlite
  • pgadmin
CREATE DATABASE my_db; 建立資料庫

連結既有資料庫:

  • host
  • port
  • database
  • username
  • password

帳密和程式碼要分開儲放。

  • 函數、identifier、alias
  • 句子sentence、子句clause


select id, name from 學生清單;
select * from student;
select name, round(age * 0.9) from student;
select name, age as foo from tab.col 點號.避免重名

Ch5. 增刪更檔案

  • 下列語法以PostgreSQL為準
  • database object 是存資料的資料庫物件
  • datamodel是綱要,schema是其實作
  • 檢視現有資料庫
 \l
  • 檢視目前使用之資料庫:
 select current_database;
  • 刪除資料庫
drop database my_db;

匯出 Firefox 瀏覽紀錄

開啟 profile 設定檔的資料夾,先 sqlite3 places.sqlite,進入 sqlite 命令模式:

輸入:

sqlite> .headers on
sqlite> .mode csv
sqlite> .output selected_data.csv
sqlite> SELECT datetime(moz_historyvisits.visit_date/1000000,'unixepoch'), moz_places.url, moz_places.title FROM moz_places, moz_historyvisits WHERE moz_places.id = moz_historyvisits.place_id ; 
sqlite> .quit

導出到 selected_data.csv[1][2]

引用