2014/07/20(日) [n年前の日記]
#1 [prog] MySQL勉強中
ようやく、
_MySQL入門 (全19回) - ドットインストール
を見終わった。
写経(?)内容を忘れそうなのでメモ。
フィールド値の文字数を確認。
文字列を連結。
表示時の名前を変更して表示。
文字列の一部を表示。
現在時刻を確認。
月情報を表示。
時間の差を表示。
レコードを更新。
レコードを削除。
テーブル構造を変更。フィールドを追加。
テーブル構造を変更。フィールドの型を変更。
テーブル構造を変更。フィールドを削除。
テーブル構造を変更。フィールドにインデックスを追加。
テーブル構造を変更。フィールドのインデックスを削除。
テーブル名を変更。
複数のテーブルから参照する例。テーブル名.フィールド名で指定できる。
外部ファイルにコマンドを書いて渡す。
バックアップ。
復元。
写経(?)内容を忘れそうなのでメモ。
フィールド値の文字数を確認。
select length(フィールド名) from テーブル名; select email,length(email) from users;
文字列を連結。
select concat(フィールド名,'(',フィールド名,')') from テーブル名; select concat(name,'(',team,')') from users;
表示時の名前を変更して表示。
select concat(name,'(',team,')') as ラベル名 from テーブル名; select concat(name,'(',team,')') as label from users;
文字列の一部を表示。
select substring(フィールド名,1,1) from テーブル名; select name,substring(team,1,1) from users;
現在時刻を確認。
select now();
月情報を表示。
select month(フィールド名) from テーブル名; select name,month(created) from users;
時間の差を表示。
select datediff(now(), フィールド名) from テーブル名; select name,datediff(now(), created) from users;
レコードを更新。
update テーブル名 set フィールド名 = 値 where 条件; update users set email = 'kimura@gmail.com' where id = 5;
レコードを削除。
delete from テーブル名 where 条件; delete from users where score <= 3.0;
テーブル構造を変更。フィールドを追加。
alter table テーブル名 add フィールド名 データ型 after フィールド名; alter table users add full_name varchar(255) after name;
テーブル構造を変更。フィールドの型を変更。
alter table テーブル名 change フィールド名 フィールド名 データ型; alter table users change full_name full_name varchar(100);
テーブル構造を変更。フィールドを削除。
alter table テーブル名 drop フィールド名; alter table users drop full_name;
テーブル構造を変更。フィールドにインデックスを追加。
alter table テーブル名 add index インデックス名 (フィールド名); alter table users add index email (email);
テーブル構造を変更。フィールドのインデックスを削除。
alter table テーブル名 drop index インデックス名; alter table users drop index email;
テーブル名を変更。
alter table 旧テーブル名 rename 新テーブル名; alter table users rename blog_users;
複数のテーブルから参照する例。テーブル名.フィールド名で指定できる。
select users.name,posts.title from users,posts where users.id=posts.user_id; select users.name,posts.title,posts.created from users,posts where users.id=posts.user_id order by posts.created desc;
外部ファイルにコマンドを書いて渡す。
mysql -u 作業ユーザ名 -p データベース名 < ファイル.sql mysql -u dbuser -p blog_app < commands.sql
バックアップ。
mysqldump -u 作業ユーザ名 -p データベース名 > データベース名.dump.sql mysqldump -u dbuser -p blog_app > blog_app.dump.sql
復元。
mysql -u 作業ユーザ名 -p データベース名 < データベース名.dump.sql mysql -u dbuser -p blog_app < blog_app.dump.sql
[ ツッコむ ]
以上です。