DBを作る1
[初回]
mysql -u root
create database pan_db;
アクセスできるユーザを設定していく。
(全てのテーブルに対してdbuserがlocalhostからアクセスできるようにする。
そして、パスワードを設定する。)
grant all on pan_db.* to dbuser@localhost identified by 'pasword';
use pan_db
create table sampletdl(
id int not null auto_increment primary key,
name varchar(255),
komoku1 int,
komoku2 varchar(50),
komoku3 text);
このユーザでアクセスできるか試す。
\q 一度終える。
mysql -u dbuser -p pan_db;
パスワードを入力
show tables;
desc sampletdl;
[良く使うSQL]
mysql -u hoge00 -phoge00 (パスワードを連続して入力する場合)
show databases;
create database pan_db;
use pan_db
create table sampletdl(komoku1 int, komoku2 varchar(50), komoku3 text);
describe sampletdl;
select * from sampletdl;
Teratarmを使用してDBを作成してみる
※TeratarmはCtrl+Cを押すと抜けてしまうので注意※ターミナルは2つ立ち上げて、同じようにログインしておき、片方でSQL、
片方で結果などを見ると使い勝手が良い。
[Linuxコマンド]
pwd ・・・現在の作業ディレクトリを表示(print working directory)
php -v ・・・・phpのバージョン確認
mysql --version ・・・mysqlのバージョン確認
cd ・・・change dirrectory
[mysqlを使う]
■IDとパスワードを入力=-pの後ろは半角スペースあけない。
mysql -u hoge00 -phoge00
■Ver確認 SQL5以前とではぜんぜん違う。
select version();
■database作成
create database bookdata_db;
■databaseを確認する
show databases;
■databaseを使用する
use bookdata_db;
■データベースのテーブルを見る
show tables;
■テーブル作成 ※カンマの後にスペースが必要。
create table bookinfo(title varchar(50), press varchar(30), author varchar(30), contents text, price int);
■テーブル一覧を見る
show tables;
■テーブルの構造を表示する
describe bookinfo;
または、 desc bookinfo;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
■データの書き込み
insert into bookinfo (title, press, author, contents, price) values('エクセル+関数', '伊達出版', 'tada', '初心者にも分かり易い実例集付', 2500);
insert into bookinfo (title, press, author, contents, price) values('Java&Web', 'かとう出版', 'katho', '1週間でマスターできるJavaの基本が満載', 2800);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
書き込まれたデータの確認
select * from bookinfo;
select title, price from bookinfo;
select * from bookinfo where price>=2500;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
タイトルが~webで終わるデータを抽出。
select * from bookinfo where title like '%Web';
タイトルがjで始まるデータを抽出。
select title, price*2 from bookinfo where title='Java&Web';
select title as タイトル, price*2 as お支払額 from bookinfo where title='Java&Web';
select * from bookinfo where title like '%Web' and price<=2500;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
■価格が高い順に(desc)そのうちの1件目だけ(limit)表示してください。
select price, title from bookinfo order by price desc limit 1;
■価格が高い順に(ASC)そのうちの1件目だけ(limit)表示してください。
select price, title from bookinfo order by price ASC limit 1;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
■テーブルの上書き
update bookinfo set price=2700 where title='Java&Web';
■データの削除
delete from bookinfo where title='紅茶とJava';
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
■書き換え 金額と著者名を変更する。
update bookinfo set price=2100, author='saito.h' where title='PHP&Web';
項目名の追加(最初に追加する)
alter table sampletdl add komoku0 int first;
項目を1の後ろに追加する。
alter table sampletdl add komoku1_1 int after komoku1;
データの型を変える(本来ならあってはならない。)
alter table sampletdl modify komoku1 char(1);
項目削除(要注意)
alter table sampletdl drop komoku2;
項目名を変更する。
alter table sampletdl change komoku3 komoku3_1 text;
テーブルの名前を変更する。
alter table sampletdl rename sample_TBL;
テーブル名が変更されたのを確認する
show tables;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
テーブルを削除
drop table sample_TBL;
データベースの削除
drop database sampledb;
接続を切る
quit;
テラタームを閉じる
exit;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
■現在の日付
select now();
■締切日等 or 一月前
select now() -interval 1 month;
1カ月と三日前
select now() -interval 1 month -interval 3 day;
1カ月と三日先
select now() -interval -1 month -interval -3 day;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-