追加。例がある
https://cloud-textbook.com/131/
https://dev.mysql.com/doc/refman/8.0/en/creating-database.html
===
一通り試して2時間半くらい
■MySQLにrootユーザでログインする パスワードあり
mysql -u root -p
■MySQLから抜ける
exit または quit
■データベース(の名前)を見る(※複数形に注意)
show databases;
■MySQLを起動してからの時間を見る
mysql> show status like 'Uptime';
+---------------+---------+
| Variable_name | Value |
+---------------+---------+
| Uptime | 1073461 |
+---------------+---------+
■作業ユーザ dbuserを作る パスワードは弱いとNG
grant all on blog_app.* to dbuser@localhost identified by 'PAssw0rd'
■テーブルを作る。名前users。項目a1,a2,....
create table users (
a1,
a2,
...
);
型は char, varchar, int, double, text, enum , date, datetimeなどあり
not null 必ず値があること
auto_increment primary key
unique ダブらない
default XXX デフォルト値設定
key XXX (XXX) 検索キー
■テーブルを見る(※複数形に注意)
show tables;
■テーブルを消す。名前users
drop tabel users;
■テーブルusersの中を見る
desc users;
■テーブルusersに挿入する
insert into users (a1, a2, (省略可)...) values ('b1', ,,,)
■テーブルusersから選択して表示
select * from users;
select a1 , a2,,, from users;
■テーブルのアイテムごとに表示(※; は不要)
select * from users \G
■whereを使ったusersの検索
select * from users where (検索式);
検索式は a1 > 10など。 = , !=(<>)
select * from users where a1 like '%XXX'
% : 0文字以上の文字列
_ (アンダースコア):1文字
■where, between で数字の以上以下
■where a1 in ('XXX', 'YYY') で
■条件式は and でつなげる or も可能
■ソートする
select * from users order by a1
(逆順にソート)
select * from users order by a1 desc
■数を制限する
limit 3
■数を制限する、オフセットをつける。ゼロ始まり
(3番目から2個抽出)
limit 2, 2
order by a1 limit 3 とか組み合わせも可能
■集計する
同じ項目を無視する
select distinct a1 from users;
select * from users order by rand() limit 1;
ランダムに1つ選ぶ
mysql> select email,length(email) from users;
文字列の連結
concat
同じ項目を無視する
select distinct a1 from users;
select * from users order by rand() limit 1;
ランダムに1つ選ぶ
mysql> select email,length(email) from users;
文字列の連結
concat
mysql> select concat(name, email) as label from users;
文字列の部分を選ぶ substring
mysql> select substring(name,1,1) from users;
現在時刻の表示
mysql> select now();
テーブルの更新
mysql> update users set score = 2 where id =3;
テーブルの中から条件をつけて削除
mysql> delete from users where score <= 3.0;
full_nameという項目を増やす。nameの後に増やす。
mysql> alter table users add full_name varchar(255) after name;
変更 afterで場所を変えることもできる
mysql> alter table users change full_name full_name varchar(100) after email;
消す
mysql> alter table users drop full_name;
インデックス追加(add->dropで消す)
mysql> alter table users add index email (email);
テーブルusersをblog_usersにリネーム
mysql> alter table users rename blog_users;
複数のテーブルを指定するときは . で指定する。テーブル名(.)コラム from XXX,YYY where 条件
mysql> select users.name,posts.title from users,posts where users.id=posts.user_id;
+逆向きに並べる
mysql> select users.name,posts.title,posts.created from users,posts where users.id=posts.user_id;
テーブルを作るとき、既に存在するなら上書き
drop table if exists users;
外部ファイルのコマンド
linuxで XXX.sql ファイルを同じディレクトリに作る。Vimとか使う
mysql -u dbuser -p blog_app < XXX.sql
(password type)
で実行できる。
#19 バックアップ
dump する
mysqldump -u dbuser -p blog_app > blog_app.dump.sql
復元
mysql - u dbuser -p blog_app < dumpファイル名
0 件のコメント:
コメントを投稿