SlideShare a Scribd company logo
初めての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を使う

More Related Content

PDF
Sql勉強会用_1
PDF
RDBNoSQLの基礎と組み合わせDB構成をちょっとよくする話
PPTX
読み出し性能と書き込み性能を選択可能なクラウドストレージ (DEIM2011-C3-3)
PDF
Web Environments
PPTX
Nutanixを導入してみて思ったこと(仮)
PPTX
この素晴らしいSQLに祝福を!
PPT
私のSql -My Sql
PDF
mysql casual #4
Sql勉強会用_1
RDBNoSQLの基礎と組み合わせDB構成をちょっとよくする話
読み出し性能と書き込み性能を選択可能なクラウドストレージ (DEIM2011-C3-3)
Web Environments
Nutanixを導入してみて思ったこと(仮)
この素晴らしいSQLに祝福を!
私のSql -My Sql
mysql casual #4

Similar to 初めてのSQL (20)

PPT
今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ
PPT
MySQL最新情報と、データベースのお勉強のススメ-第68回PHP勉強会
PDF
達人に学ぶSQL徹底指南書 第2版勉強会 #0
PPT
今年こそ始めたい!SQL超入門 MIRACLE Linux Meetup版 0620
PDF
Sql第1回資料
PDF
データベース03 - SQL(CREATE, INSERT, DELETE, UPDATEなど)
PPTX
日本MySQLユーザ会会長野2017「MySQLとは」
PDF
Sql基礎の基礎
PDF
データベース入門2
PDF
データベース06 - SQL(VIEW, ALTER, GRANTなど)
PDF
Japan.r 2データベース
PDF
データベース02 - SQL概要
PDF
My sql casual12lt
PDF
リレーショナルデータベースとの上手な付き合い方 long version
PPT
20080617 05 Mysql
PDF
sql講座 (初心者向け)
PPTX
Db seminar 20190619
PDF
オープンソース・データベースの最新事情
PDF
MySQL研修で学んだこと
PDF
MySQLおじさんの逆襲
今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ
MySQL最新情報と、データベースのお勉強のススメ-第68回PHP勉強会
達人に学ぶSQL徹底指南書 第2版勉強会 #0
今年こそ始めたい!SQL超入門 MIRACLE Linux Meetup版 0620
Sql第1回資料
データベース03 - SQL(CREATE, INSERT, DELETE, UPDATEなど)
日本MySQLユーザ会会長野2017「MySQLとは」
Sql基礎の基礎
データベース入門2
データベース06 - SQL(VIEW, ALTER, GRANTなど)
Japan.r 2データベース
データベース02 - SQL概要
My sql casual12lt
リレーショナルデータベースとの上手な付き合い方 long version
20080617 05 Mysql
sql講座 (初心者向け)
Db seminar 20190619
オープンソース・データベースの最新事情
MySQL研修で学んだこと
MySQLおじさんの逆襲
Ad

More from nasa9084 (13)

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

初めてのSQL