0
1

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 3 years have passed since last update.

【SQL】 基礎(メモ)

Last updated at Posted at 2020-05-03

##1.SQL(Structured Query Language)とは
リレーショナルデータベース(RDB)の操作を行うための言語
命令は大きく分けて2つ
①データベースを定義するDDL(Data Definition Language)

命令 機能
CREATE データベースやテーブルの作成
ALTER データベースやテーブルの更新
DROP データベースやテーブルの削除

②データを操作するDML(Data Manipulation Language)

命令  機能     
INSERT データの登録
UPDATE データの更新
DELETE データの削除
SELECT データの検索

##2.データベース構造の操作

/*DBへ接続*/
mysql -u root
/*DBを一覧で表示*/
SHOW DATABASES;
/*指定した名前のDBの作成*/
CREATE DATABASE データベース名;
/*作業するDBを選択*/
USE データベース名

SHOW DATABASES文:DBを一覧で表示するSQL文
CREATE DATABASE文:DBやテーブルを作成するSQL文
USE文:DBを選択するSQL文
##3.テーブルの操作

/*選択したDBに存在するテーブルを一覧表示*/
SHOW TABLES;
/*テーブルを作成*/
CREATE TABLE テーブル名 (カラム名 カラム名の型, ……);

SHOW TABLES文:選択したデータベースに存在するテーブルを一覧で表示するSQL文
CREATE TABLE文:テーブルを作成するためのSQL文
テーブルを作成する際にカラムの型を選択する必要がある。
参考:MySQL 5.6 リファレンスマニュアル 第 11 章 データ型
例)商品の情報を保存することを想定し、"goods"という名前のテーブルを作成する。
テーブルには商品idを数字で保存するidカラム、商品名を文字列で保存するnameカラムが必要。

CREATE TABLE goods (id INT, name VARCHAR(255));

意味:goodsテーブルにidカラム、nameカラムを作成。それぞれの方はINTとVARCHAR(最大255文字数)。

##4.テーブル構造を確認

/*構造の確認*/
SHOW columns FROM テーブル名;

##5.カラムを追加(ALTER TABLE文)

/*カラムを1つ追加*/
ALTER TABLE テーブル名 ADD カラム名 カラムの型;
/*カラムを複数追加*/
ALTER TABLE テーブル名 ADD (カラム名 カラムの型, ……);

/*カラムの修正*/
ALTER TABLE テーブル名 CHANGE 古いカラム名 新しいカラム名 新しいカラムの型;

/*カラムの削除*/
ALTER TABLE テーブル名 DROP カラム名;

##6.テーブルにデータを保存(INSERT文)
INSERT文:テーブルにデータを登録するためのSQL文

/*全てのカラムに値を入れる場合と特定のカラムに値を入れる場合*/
INSERT INTO テーブル名 VALUES(1, 2, 3);
INSERT INTO goods VALUES(1, "ペン", 120);/*意味:goodsテーブルにid:1,nema:"ペン",price:120を登録*/

/*特定のカラムのみに値を入れる場合*/
INSERT INTO テーブル名(カラム名1, カラム名2) VALUES(1, 2);
INSERT INTO goods(id, name) VALUES(2, "消しゴム");/*意味:goodsテーブルにidカラムに2,nemaカラムに"消しゴム"を登録*/

デフォルト値を設定していないカラムのデフォルト値はNULLとなる。

##7.データを更新(UPDATE文)

UPDATE テーブル名 SET 変更内容 WHERE 条件;
UPDATE goods SET price = 100 WHERE id = 2;/*goodsテーブルのid2のpriceを100に更新*/

##8.データを削除(DELETE文)

DELETE FROM テーブル名 WHERE 条件;
DELETE FROM goods WHERE id = 2;

##その他

/*テーブルにあるレコードを全て表示*/
SELECT * FROM テーブル名;
0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?