SQL構文1

今日はSQL文の勉強。


簡単なテーブル作成。

create database mydb;
use mydb;
create table items;
insert into items ( id, name) values( '1', '商品1');
insert into items ( id, name) values( '2, '商品2');
insert into items ( id, name) values( '3', '商品3');
insert into items ( id, name) values( '0, '商品0');
delete from items where name = '商品0';
select * from items order by id;

列の削除、ID毎に整列表示。


プライマリーキーの設定とその後、 プライマリーキーに重複するデータを挿入できるか確認。

create table my_items (id int, item_name text, price int);
insert into my_items set id=1, item_name='いちご', price=200;
update my_items set price=180 where id=1;
delete from my_items where id=1;
insert into my_items set id=1, item_name='いちご', price=180;
alter table my_items add primary key(id);
insert into my_items set id=1, item_name='りんご', price=180;
insert into my_items set id=NULL, item_name='りんご';

Duplicate entry '1' for key 'PRIMARY' プライマリーキーに設定したidを省いて挿入できるか確認。
insert into my_items set id=NULL, item_name='りんご';


alter table my_items modify id int auto_increment;
insert into my_items set item_name='りんご', price=90;

オートインクレメントをON。 無事挿入できた。


列の挿入とkeyowrd列の修正

alter table my_items add keyword text null;
update my_items set keyword='赤い, 甘い, ケーキ' where id=1;
update my_items set keyword='丸い, 赤い, パイ' where id=2;
update my_items set keyword='パック, 甘い , 黄色' where id=3;
update my_items set keyword='袋入, 青い , 眼精疲労' where id=4;

検索の仕方

select * from my_items where price=180;
select * from my_items where item_name='いちご'
select * from my_items where price<180;
select * from my_items where price>180;
select * from my_items where price<=180;
select * from my_items where id<>1;  //<>は不等号
select * from my_items where keyword like '%甘い%';
select * from my_items where price>=50 and price<150;
select * from my_items where id=1 or id=3;
select * from my_items where (id=1 or id=3) and price<150 and keyword like '%甘い%';

andはかつ、orはと といった意味で使う。


order byを使っての並び替え

select * from my_items order by id asc;
select * from my_items order by id asc;

Javaに繋ぐのはやめにしました。まだSQL単体で少し勉強しようと思います。