1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SQLの基本操作

Last updated at Posted at 2022-03-23

●SQLの操作一覧
・テーブルの作成
CREATE TABLE テーブル名 (カラム名1 データ型1 列の制約1, カラム名2 データ型2 列の制約2,...)
例)

CREATE TABLE data (num int NOT NULL, name text, age int);

※numとnameとageというカラムを持ったdataというテーブルを作成
※numは空配列にしてはいけない

・既存のテーブルから検索
SELECT 検索対象 FROM 'テーブル名' (WHERE 対象レコードが含むデータ)
※(WHERE 対象レコードが含むデータ)は無くてもOK
例①)
テーブル内のすべてのデータを検索するとき

SELECT * FROM data;

※dataというテーブルから全データを検索
※*は「全て」という意味
例②)
テーブル内の一部のデータを検索するとき

SELECT name, age FROM data wherw num=1;

※dataというテーブルからnum=1を含むレコードのnameカラムとageカラムを検索
where num=1が無い場合は、全データのnameカラムとageカラムを表示

・指定した行数のみのデータを取得
SELECT 列名 FROM テーブル名 LIMIT 行数
例)

SELECT * FROM companies LIMIT 10;

companiesテーブルの全列を上から10個だけ取得

・既存のテーブルへのデータの追加1
INSERT INTO テーブル名 SET 追加内容1, 追加内容2, ...
例)

INSERT INTO data SET num=1, name="ヒカル", age=26;

※dataテーブルのnumカラムに1、nameカラムにヒカル、ageカラムに26を追加
※文字列を追加するときは''(シングルクォーテーション)or""(ダブルクォーテーション)で囲む

・既存のテーブルへのデータの追加2
INSERT INTO テーブル名 VALUES (カラム1への追加内容, カラム2への追加内容, ...)
例)

INSERT INTO data VALUES (2, "ミズキ", 24);

※dataテーブルのnumカラムに2、nameカラムにミズキ、ageカラムに24を追加
※全カラムにデータを追加するときに使える方法

・既存のテーブルへのデータの追加3
INSERT INTO テーブル名(カラム1, カラム2, ...) VALUES (カラム1への追加内容, カラム2への追加内容, ...)
例)

INSERT INTO data(num, name, age) VALUES (2, "ミズキ", 24);

※dataテーブルのnumカラムに2、nameカラムにミズキ、ageカラムに24を追加
※指定したカラムにのみデータを追加するときに使える方法

・既存のテーブルの内容を変更
UPDATE テーブル名 SET 変更内容1, 変更内容2, ... WHERE 対象レコードが含むデータ
例)

UPDATE data SET age=18 WHERE num=1;

※dataテーブルのnum=1のレコードのageカラムを18に変更
※※WHEREを入力し忘れた場合、全レコードの内容が変更となるので注意※※

UPDATE data SET age=18;

の場合、dataテーブルの全レコードのageカラムが18となってしまう。

・テーブルのデータの削除
DELETE FROM テーブル名 WHERE 対象レコードが含むデータ
例)

DELETE FROM data WHERE num=1;

※dataテーブルのnumカラムが1のデータを削除
※※WHEREを入力し忘れた場合、テーブル内のデータが全て消えるので注意※※

DELETE FROM data;

の場合、dataテーブル内の全データが消える。

・テーブルのデータの並び替え
DELETE FROM テーブル名 ORDER BY ソートするカラム名 指示
例)

DELETE FROM data ORDER BY age asc;

※dataテーブルをageカラムが小さい順に並び替え
※ascは省略可(省略すると自動的に小さい順となる)
※大きい順に並び替えたいときは指示のところにdescと入力
※文字列を並び変えたいときは文字の種類を統一する(平仮名だけorカタカナだけ等)

・重複しているものをまとめる
SELECT DISTINCT 表示したいカラム名 FROM テーブル名
※表示したいカラム名には()を付けても良い
例)

SELECT DISTINCT age from data;

・範囲で検索
SELECT * from テーブル名 WHERE カラム名 between 最小値 and 最大値
※以下のコードと同じ
SELECT * from テーブル名 WHERE カラム名>=最小値 and カラム名<=最大値
例)

SELECT * FROM data WHERE age 20 and 30;

・特定のレコードを検索
SELECT * from テーブル名 WHERE カラム名 in (検索値1, 検索値2, ...)

以下のコードと同じ
SELECT * from テーブル名 WHERE カラム名=検索値1 or カラム名=検索値2 ...)
例)

SELECT * FROM data WHERE age in (20, 22, 24, 25);

・表示や選択するレコードの制限
~最初のデータからn個目のレコードまでを選択するとき~
SELECT * FROM テーブル名 limit n
~(n+1)個目のデータからm個目のレコードまでを選択するとき~
SELECT * FROM テーブル名 limit n, m

・カラムに別名を付ける
SELECT カラム名 AS 別の名前
例)

SELECT COUNT(id) AS number FROM entries;

※entriesテーブルのidの数にnumberをいう名前を付ける

・テーブルへの列の追加
ALTER TABLE テーブル名 ADD COLUMN 列の定義
例)

ALTER TABLE companies ADD COLUMN capital INTEGER;

※companiesテーブルに整数型のcapital列を追加

・テーブルの列の削除
ALTER TABLE テーブル名 DROP COLUMN 列名
例)

ALTER TABLE companies DROP COLUMN capital;

※companiesテーブルからcapital列を削除

・テーブルの削除
drop table テーブル名
例)

DROP TABLE companies;

※companiesテーブルを削除

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?