SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
初めてのSQL初めてのSQL
nasa9084nasa9084
自己紹介自己紹介
名前
北村壮大 : Masahiro Kitamura
HN : nasa9084
所属
北海道大学
工学部
情報エレクトロニクス学科
コンピュータサイエンスコース
情報認識学研究室
DBMSDBMS
DataBase Magagement System
DBを管理し、外部からの要求に応えてDBの操作をするソフトウェア
RDBMS
Relational Database Management System
ODBMS
Object-oriented Database Management System
ORDBMS
Object-oriented Relational Database Management System
NoSQL
Not only SQL
RDBMSRDBMS
関係代数を基礎概念としたDBMS
→Excelみたいな表形式
RDBMS製品RDBMS製品
Oracle
DB2
SQL Server
PostgreSQL
MySQL
SQLite
SQLSQL
RDBMS用問い合わせ言語
文法文法
文法は三種類に分類可能
DDL
Data De�nition Language
DML
Data Manipulation Language
DCL
Data Control Language
CRUDCRUD
RDBMSで最低限必要な機能
Create
Read
Update
Delete
方言と標準SQL方言と標準SQL
RDBMSごとに文法が少しずつ違う →標準SQLの策定
CREATECREATE
CREATE DATABASECREATE DATABASE
データベースを作る
CREATE DATABASE digiporo;
CREATE TABLECREATE TABLE
テーブル(表)を作る
CREATE TABLE birth (no INT, name VARCHAR(128), birthday DATE);
no name birthday
データ型(MySQL)データ型(MySQL)
整数型
INT
浮動小数点型
FLOAT, DOUBLE
日付・時刻型
DATE, TIME, DATETIME, TIMESTAMP, YEAR
文字列型
CHAR, VARCHAR
バイナリ文字列型
BINARY, VARBINARY
列挙型
ENUM
集合型
SET
INSERTINSERT
データベースに値を挿入する
INSERT INTO birth VALUES (1, "太郎", 1993-04-05);
INSERT INTO birth VALUES (2, "花子", 1994-05-06);
INSERT INTO birth VALUES (3, "よしこ", 1995-06-07);
no name birthday
1 太郎 1993-04-05
2 花子 1994-05-06
3 よしこ 1995-06-07
SELECTSELECT
データベースから情報をとってくる
SELECT * FROM birth;
no name birthday
1 太郎 1993-04-05
2 花子 1994-05-06
3 よしこ 1995-06-07
列を指定する列を指定する
SELECT no,name FROM birth;
no name
1 太郎
2 花子
3 よしこ
WHERE句で条件を指定するWHERE句で条件を指定する
SELECT * FROM birth WHERE birthday=1995-06-07;
no name birthday
3 よしこ 1995-06-07
列と条件を両方指定する列と条件を両方指定する
SELECT name FROM table WHERE birthday=1995-06-07;
name
よしこ
算術演算算術演算
SELECT文では計算が可能
price amount
100 20
200 5
500 10
SELECT price*amount AS total FROM stock;
total
2000
1000
5000
WHERE句での計算WHERE句での計算
SELECT price*amount AS total FROM stock WHERE price*amount>2500;
total
5000
WHEREはSELECTより先に動くので別名を使えないので注意
UPDATEUPDATE
データを更新する
UPDATE stock SET amount=0 WHERE price=100;
price amount
100 0
200 5
500 10
DELETEDELETE
データを削除する
DELETE FROM stock WHERE amount=0
price amount
200 5
500 10
まとめまとめ
DBを管理するソフトをDBMSという
DBMSには複数種類ある
RDBMSではSQLを使う

Más contenido relacionado

Similar a 初めてのSQL

Cassandra(no sql)によるシステム提案と開発
Cassandra(no sql)によるシステム提案と開発Cassandra(no sql)によるシステム提案と開発
Cassandra(no sql)によるシステム提案と開発kishimotosc
 
比べてみよう リレーショナル vs ドキュメント.pptx
比べてみよう リレーショナル vs ドキュメント.pptx比べてみよう リレーショナル vs ドキュメント.pptx
比べてみよう リレーショナル vs ドキュメント.pptxMariMurotani
 
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~kishimotosc
 
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlCassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlYutuki r
 
2012年1月技術ひろば
2012年1月技術ひろば2012年1月技術ひろば
2012年1月技術ひろば貴仁 大和屋
 
qpstudy 2013.07 NoSQL
qpstudy 2013.07 NoSQLqpstudy 2013.07 NoSQL
qpstudy 2013.07 NoSQLAkihiro Okuno
 
DBワークロードのAWS化とデータベースサービス関連最新情報
DBワークロードのAWS化とデータベースサービス関連最新情報DBワークロードのAWS化とデータベースサービス関連最新情報
DBワークロードのAWS化とデータベースサービス関連最新情報Amazon Web Services Japan
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会otmb
 
ビッグデータやIoTシステムを支えるデータベース 『GridDB』
ビッグデータやIoTシステムを支えるデータベース 『GridDB』ビッグデータやIoTシステムを支えるデータベース 『GridDB』
ビッグデータやIoTシステムを支えるデータベース 『GridDB』griddb
 
Db2 Warehouse on Cloud Flex ご紹介資料 2020年3月版
Db2 Warehouse on Cloud Flex ご紹介資料 2020年3月版Db2 Warehouse on Cloud Flex ご紹介資料 2020年3月版
Db2 Warehouse on Cloud Flex ご紹介資料 2020年3月版IBM Analytics Japan
 
Classmethod awsstudy ec2rds20160114
Classmethod awsstudy ec2rds20160114Classmethod awsstudy ec2rds20160114
Classmethod awsstudy ec2rds20160114Satoru Ishikawa
 
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門Yuki Morishita
 
RDS詳細 -ほぼ週刊AWSマイスターシリーズ第8回-
RDS詳細 -ほぼ週刊AWSマイスターシリーズ第8回-RDS詳細 -ほぼ週刊AWSマイスターシリーズ第8回-
RDS詳細 -ほぼ週刊AWSマイスターシリーズ第8回-SORACOM, INC
 
RDBMSより高速なNoSQLを実際に使ってみた話
RDBMSより高速なNoSQLを実際に使ってみた話RDBMSより高速なNoSQLを実際に使ってみた話
RDBMSより高速なNoSQLを実際に使ってみた話犬 クジラ
 
DynamoDBを導入した話
DynamoDBを導入した話DynamoDBを導入した話
DynamoDBを導入した話dcubeio
 

Similar a 初めてのSQL (20)

Cassandra(no sql)によるシステム提案と開発
Cassandra(no sql)によるシステム提案と開発Cassandra(no sql)によるシステム提案と開発
Cassandra(no sql)によるシステム提案と開発
 
比べてみよう リレーショナル vs ドキュメント.pptx
比べてみよう リレーショナル vs ドキュメント.pptx比べてみよう リレーショナル vs ドキュメント.pptx
比べてみよう リレーショナル vs ドキュメント.pptx
 
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
Devsumi2013【15-e-5】NoSQLの野心的な使い方 ~Apache Cassandra編~
 
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlCassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sql
 
2012年1月技術ひろば
2012年1月技術ひろば2012年1月技術ひろば
2012年1月技術ひろば
 
20120409 aws meister-reloaded-dynamo-db
20120409 aws meister-reloaded-dynamo-db20120409 aws meister-reloaded-dynamo-db
20120409 aws meister-reloaded-dynamo-db
 
qpstudy 2013.07 NoSQL
qpstudy 2013.07 NoSQLqpstudy 2013.07 NoSQL
qpstudy 2013.07 NoSQL
 
Not only sql _ 新卒エンジニア勉強会20130417
Not only sql _ 新卒エンジニア勉強会20130417Not only sql _ 新卒エンジニア勉強会20130417
Not only sql _ 新卒エンジニア勉強会20130417
 
20120508 aws meister-rds-public
20120508 aws meister-rds-public20120508 aws meister-rds-public
20120508 aws meister-rds-public
 
AWS Blackbelt 2015シリーズ RDS
AWS Blackbelt 2015シリーズ RDSAWS Blackbelt 2015シリーズ RDS
AWS Blackbelt 2015シリーズ RDS
 
DBワークロードのAWS化とデータベースサービス関連最新情報
DBワークロードのAWS化とデータベースサービス関連最新情報DBワークロードのAWS化とデータベースサービス関連最新情報
DBワークロードのAWS化とデータベースサービス関連最新情報
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会
 
ビッグデータやIoTシステムを支えるデータベース 『GridDB』
ビッグデータやIoTシステムを支えるデータベース 『GridDB』ビッグデータやIoTシステムを支えるデータベース 『GridDB』
ビッグデータやIoTシステムを支えるデータベース 『GridDB』
 
Db2 Warehouse on Cloud Flex ご紹介資料 2020年3月版
Db2 Warehouse on Cloud Flex ご紹介資料 2020年3月版Db2 Warehouse on Cloud Flex ご紹介資料 2020年3月版
Db2 Warehouse on Cloud Flex ご紹介資料 2020年3月版
 
Classmethod awsstudy ec2rds20160114
Classmethod awsstudy ec2rds20160114Classmethod awsstudy ec2rds20160114
Classmethod awsstudy ec2rds20160114
 
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門
 
RDS詳細 -ほぼ週刊AWSマイスターシリーズ第8回-
RDS詳細 -ほぼ週刊AWSマイスターシリーズ第8回-RDS詳細 -ほぼ週刊AWSマイスターシリーズ第8回-
RDS詳細 -ほぼ週刊AWSマイスターシリーズ第8回-
 
Redshift勉強会
Redshift勉強会Redshift勉強会
Redshift勉強会
 
RDBMSより高速なNoSQLを実際に使ってみた話
RDBMSより高速なNoSQLを実際に使ってみた話RDBMSより高速なNoSQLを実際に使ってみた話
RDBMSより高速なNoSQLを実際に使ってみた話
 
DynamoDBを導入した話
DynamoDBを導入した話DynamoDBを導入した話
DynamoDBを導入した話
 

Más de nasa9084

Webエンジニアのためのはじめてのredis.pdf
Webエンジニアのためのはじめてのredis.pdfWebエンジニアのためのはじめてのredis.pdf
Webエンジニアのためのはじめてのredis.pdfnasa9084
 
Webエンジニアのためのはじめてのredis
WebエンジニアのためのはじめてのredisWebエンジニアのためのはじめてのredis
Webエンジニアのためのはじめてのredisnasa9084
 
webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのrediswebエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredisnasa9084
 
Hubotをはじめる
HubotをはじめるHubotをはじめる
Hubotをはじめるnasa9084
 
Efsta student session
Efsta student sessionEfsta student session
Efsta student sessionnasa9084
 
DIVE INTO /regexp?/
DIVE INTO /regexp?/DIVE INTO /regexp?/
DIVE INTO /regexp?/nasa9084
 
Flowchart w/program structure
Flowchart w/program structureFlowchart w/program structure
Flowchart w/program structurenasa9084
 
HTTPのお話
HTTPのお話HTTPのお話
HTTPのお話nasa9084
 
エディタ戦争のお話
エディタ戦争のお話エディタ戦争のお話
エディタ戦争のお話nasa9084
 
Linuxディストリビューションのお話
Linuxディストリビューションのお話Linuxディストリビューションのお話
Linuxディストリビューションのお話nasa9084
 
Introduction of Programming language
Introduction of Programming languageIntroduction of Programming language
Introduction of Programming languagenasa9084
 

Más de nasa9084 (13)

Webエンジニアのためのはじめてのredis.pdf
Webエンジニアのためのはじめてのredis.pdfWebエンジニアのためのはじめてのredis.pdf
Webエンジニアのためのはじめてのredis.pdf
 
Webエンジニアのためのはじめてのredis
WebエンジニアのためのはじめてのredisWebエンジニアのためのはじめてのredis
Webエンジニアのためのはじめてのredis
 
webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのrediswebエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredis
 
Hubotをはじめる
HubotをはじめるHubotをはじめる
Hubotをはじめる
 
Efsta student session
Efsta student sessionEfsta student session
Efsta student session
 
LT!
LT!LT!
LT!
 
Shell入門
Shell入門Shell入門
Shell入門
 
DIVE INTO /regexp?/
DIVE INTO /regexp?/DIVE INTO /regexp?/
DIVE INTO /regexp?/
 
Flowchart w/program structure
Flowchart w/program structureFlowchart w/program structure
Flowchart w/program structure
 
HTTPのお話
HTTPのお話HTTPのお話
HTTPのお話
 
エディタ戦争のお話
エディタ戦争のお話エディタ戦争のお話
エディタ戦争のお話
 
Linuxディストリビューションのお話
Linuxディストリビューションのお話Linuxディストリビューションのお話
Linuxディストリビューションのお話
 
Introduction of Programming language
Introduction of Programming languageIntroduction of Programming language
Introduction of Programming language
 

初めてのSQL