SQLの基本ルール
SQL基本ルール
- 文の途中に改行を入れることができる。
- 行の先頭や行の途中に半角の空白を入れることができる。
- ハイフン2つ(--)から行末まではコメントとして扱われる。
/*から*/まではコメントとして扱われる。
都道府県テーブルで練習
ts
function createPrefecturesTable() {
return sql.unsafe(`
CREATE TABLE IF NOT EXISTS PREFECTURES (
code CHAR(2),
region VARCHAR(10),
prefecture_name VARCHAR(10),
prefectural_capital VARCHAR(20),
area INTEGER
);
`)
}
async function seedPrefectures() {
await sql`INSERT INTO PREFECTURES (code, region, prefecture_name, prefectural_capital, area) VALUES ('01', '北海道', '北海道', '札幌', 83424)`
await sql`INSERT INTO PREFECTURES (code, region, prefecture_name, prefectural_capital, area) VALUES ('02', '青森県', '青森県', '青森', 9646)`
await sql`INSERT INTO PREFECTURES (code, region, prefecture_name, prefectural_capital, area) VALUES ('03', '岩手県', '岩手県', '盛岡', 15275)`
await sql`INSERT INTO PREFECTURES (code, region, prefecture_name, prefectural_capital, area) VALUES ('04', '宮城県', '宮城県', '仙台', 7282)`
await sql`INSERT INTO PREFECTURES (code, region, prefecture_name, prefectural_capital, area) VALUES ('05', '秋田県', '秋田県', '秋田', 11636)`
await sql`INSERT INTO PREFECTURES (code, region, prefecture_name, prefectural_capital, area) VALUES ('06', '山形県', '山形県', '山形', 9323)`
await sql`INSERT INTO PREFECTURES (code, region, prefecture_name, prefectural_capital, area) VALUES ('07', '福島県', '福島県', '福島', 13784)`
}
async function main() {
try {
await createPrefecturesTable()
await seedPrefectures()
const result = await sql`SELECT * FROM PREFECTURES`
console.log(result)
} catch (e) {
console.error('❌ エラーが発生しました:', e)
await sql.end()
process.exit(1)
}
}
main()取得結果
sh
Result(7) [
{
code: '01',
region: '北海道',
prefecture_name: '北海道',
prefectural_capital: '札幌',
area: 83424
},
{
code: '02',
region: '青森県',
prefecture_name: '青森県',
prefectural_capital: '青森',
area: 9646
},
{
code: '03',
region: '岩手県',
prefecture_name: '岩手県',
prefectural_capital: '盛岡',
area: 15275
},
{
code: '04',
region: '宮城県',
prefecture_name: '宮城県',
prefectural_capital: '仙台',
area: 7282
},
{
code: '05',
region: '秋田県',
prefecture_name: '秋田県',
prefectural_capital: '秋田',
area: 11636
},
{
code: '06',
region: '山形県',
prefecture_name: '山形県',
prefectural_capital: '山形',
area: 9323
},
{
code: '07',
region: '福島県',
prefecture_name: '福島県',
prefectural_capital: '福島',
area: 13784
}
]- 全ての列名を明示的に指定して、すべての行を取得する。
ts
const result =
await sql`SELECT code, region, prefecture_name, prefectural_capital, area FROM PREFECTURES`
console.log(result)取得結果
- 列名の指定を省略して、1と同様の結果を取得する。
ts
const result = await sql`SELECT * FROM PREFECTURES`
console.log(result)- 「地域」「都道府県名」の列について、「area」と「pref」という別名をつけてすべての行を取得する。
ts
const result = await sql`SELECT region AS area, prefecture_name AS pref FROM PREFECTURES`
console.log(result)