MySQLへの接続
mysql -u[user name] -pデータベースへの接続
mysql -u[user name] -p [database name]
データベースへのアクセス
use [database name];
データベースの作成
create database [database name] character set utf8;
データベースの確認
show databases;
ユーザ管理
ユーザの追加 select,insert,update,delete,file 実行権限を持つユーザgrant select,insert,update,delete,file on *.* to username identified by 'password';
ユーザの削除
DELETE FROM mysql.user WHERE user='ユーザ名';
ユーザの確認
SELECT host,user FROM mysql.user;
ユーザ権限の確認
SHOW GRANTS FOR [ユーザ名];
ユーザ権限のリフレッシュ データベースの権限テーブルから権限を再読み込みする
FLUSH PRIVILEGES;
テーブル
テーブルの作成create table [table name] ([フィールド名] char(サイズ), [フィールド名] int, ...);
テーブルの確認
show tables;
テーブルの削除
drop table [テーブル名];
フィールド
フィールドの確認show fields from [table name];
フィールド名の変更
alter table [tablename] change [旧フィールド名] [新フィールド名] [型];
フィールドの型(属性)変更
alter table [テーブル名] modify [フィールド名] [型];
フィールドの追加
alter table [テーブル名] add [フィールド名] [型];
レコード
レコードの追加(insert)insert into [テーブル名] values ([フィールド1の値], [フィールド2の値], ...);
レコードの表示(select)
select * from [テーブル名];
フィールドを限定してレコードを表示(select)
select [フィールド名] from [テーブル名];
条件指定(where)
select * from [テーブル名] where [条件式];
レコードの修正(update)
update [テーブル名] set [フィールド名]=[修正値] where [条件式];
全レコードの修正(update)
update [テーブル名] set [フィールド名]=[修正値];
フィールドの値で更新(update)
update [テーブル名] set [フィールド名]=[フィールド名];
レコードの削除(delete)
delete from [テーブル名] where [条件式];
全レコード削除(delete)
delete from [テーブル名];
インポート
データのインポートload data infile "テキストファイル" into table [テーブル名];
ソート
並び替え(昇順)select * from [テーブル名] order by [フィールド名];
並び替え(降順)
select * from [テーブル名] order by [フィールド名] desc;
連番とindex
インデックスの作成alter table [テーブル名] add index [インデックス名]([連番フィールド]);
連番フィールドの作成
alter table [テーブル名] modify [連番フィールド] int auto_increment;※レコードの追加では値をあたえる(とりあえず 0をあたえると連番が自動で入る)
インデックスの連番でidフィールドを追加する場合
alter table testtable add id int; alter table testtable add index index1(id); alter table testtable modify id int auto_increment;