2017年12月16日土曜日

MySQLコマンド行ツール

ライターのシンプル・ケンケン棒です。

本日は、コマンドラインでmysqlを触ってみたいと思います。




まず最初に起動方法は、以下です。
ユーザーは、ルート(root)で、パスワードありです。

mysql -u root -p
(パスワードは-pの後は、スペースがなし)


・ユーザーの作成
・作成したユーザーに権限をつける
・データベースの作成


・ユーザーの作成
 create user test_user identified by 'pwd123';
 select user,host from mysql.user;

・グローバルレベルで付与する
 grant all on *.* to test_user;
 show grants for test_user;

・データーベース作成
 create databases test_db;






データーベース作成で、漢字コード指定の場合は、
 create databases test_db default character set utf8; 

権限をデータベースレベルで付与したい場合は、
 grant all on test_db.* to test_user;




ここからは、本ちゃんです。



  • テーブル作成,削除
  • データの追加、変更、削除、検索



次にやることは、設計かな、

名前を決めます。

 ユーザー名
 データベース名


ユーザー名は、test_user
データベース名は、test_user


テーブルの設計
今回は、名前と住所だけです。


*ポイントは、テーブには行と列があります。


追加、変更、削除、検索は。。。


INSERT INTO テーブル名 VALUES(値...)

UPDATE テーブル名 SET name='???' WHERE id=5

DELETE FROM テーブル名 WHERE id=5

SELECT * FROM テーブル名 WHERE id >=5


これでOKですね。

実際には、こんな感じです。


INSERT INTO test_table(id, money)  VALUES( 55, 105.5);

DELETE FROM test_table WHERE id=55;

UPDATE test_table SET name='山田太朗' where id=54;

SELECT * FROM test_table;





その他
show databases;
show tables;
show character set;
show collation;


ユーザーの作成

create user test_user identified by 'pwd123';
select user,host from mysql.user;

グローバルレベルで付与する
grant all on *.* to test_user;

データベースレベルで付与する
grant all on test_db.* to test_user;

show grants for test_user;

データーベース作成
create databases test_db default character set utf8; 


drop table test_table;

create table test_table(
 id  int(10),
 name  char(50),
 money dec(10,2)
);

show columns from test_table;



●命名規則
 結構自分は、あまり気にはしませんがうるさい人は、うるさいです。

 ハイフンはマイナス間違えるので使用しない
 では、アンダースコアーですね
 ※データーベース名にハイフン使用は引用符でくくらないとエラーみたいです

 小文字でなるべく省略しない事。
 自分は、古いPGなので。。。どうかなーでも賛成ですよ

 まとめた例
  test_db
       test_tblでなくてtest_table(テーブルは単数)


●文字コードの確認
show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

0 件のコメント:

コメントを投稿