「SQL雜記」修訂間的差異
跳至導覽
跳至搜尋
Tankianting(討論 | 貢獻) |
Tankianting(討論 | 貢獻) |
||
行 1: | 行 1: | ||
{{Nav|程式語言、邏輯學}} | {{Nav|程式語言、邏輯學}} | ||
==SQL Pocket Guide的一些記錄== | ==SQL Pocket Guide的一些記錄== | ||
===Ch1. 概論-Ch4=== | |||
*SQL分成: | *SQL分成: | ||
行 11: | 行 11: | ||
*另有ANSI SQL這個標準 | *另有ANSI SQL這個標準 | ||
Select * from 表格名稱; | Select * from 表格名稱; | ||
select... comment | select... comment | ||
行 19: | 行 18: | ||
group by | group by | ||
=== | 口訣:sweaty feet wll give hirroble odors | ||
執行順序: | |||
# from 取得所有資料 | |||
#where 過濾資料 | |||
#group by 組群於類間 | |||
#having 過濾群 | |||
#select 選擇欄 | |||
#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為準 | *下列語法以PostgreSQL為準 | ||
*database object 是存資料的資料庫物件 | *database object 是存資料的資料庫物件 |
於 2023年12月31日 (日) 23:17 的修訂
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
執行順序:
- from 取得所有資料
- where 過濾資料
- group by 組群於類間
- having 過濾群
- select 選擇欄
- 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