【PHP】掲示板を作成しリロードによる二重投稿と空白投稿を防止
バージョン mysql Ver 15.1 Distrib 10.4.11-MariaDB PHP 7.4.1 【掲示板の完成後】 掲示板を作成できたと思ってリロード(更新ボタン)… 続きを読む »
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | ---接続前--- //環境変数設定(一時的な設定) set path=%path%;C:\xampp\mysql\bin //バージョン確認 mysql --version ※(ハイフン2つ) //接続 mysql -u root -p パスワードの設定がない場合 //接続 DB名も指定する場合 mysql -u root -p データベース名 ---接続後--- //DB一覧を見る show databases; //カレントのDBを知りたいとき select database(); //DBを変更するとき use データベース名; //テーブル一覧を見る show tables; //フィールド名を取得 DESCRIBE users; //データベース新規作成 CREATE database データベース名; //テーブルを作成、定義、情報を挿入 CREATE TABLE users( id int, lastname varchar(20), user_id int, created_at timestamp ); //データベース削除 drop database データベース名; //テーブル定義を見る desc テーブル名; //テーブル定義(詳細)を見る SHOW FULL COLUMNS FROM テーブル名; //指定した行数を取得 LIMIT SELECT * FROM users LIMIT 5; //WHERE SELECT * FROM users WHERE host ='pwxxx-world.ne.jp'; //WHERE 複数指定 AND SELECT * FROM users WHERE ad LIKE '%abc%' AND host LIKE '%pxxx1.ap.so-net.ne.jp%'; SELECT * FROM users WHERE ad LIKE '%abc%' AND date BETWEEN '2017-08-01' AND '2017-08-03'; //hostを取得(複数)IN (何と何) SELECT * FROM users WHERE host IN('KD000.au-net.ne.jp','pabc.ocn.ne.jp')"; //指定した番号の範囲取得 BETWEEN AND (何番目から何番目) SELECT * FROM users WHERE code BETWEEN '1307' AND '1311'; //指定した日時の範囲取得 BETWEEN AND (何時から何時) SELECT * FROM users WHERE date BETWEEN '2017-08-01' AND '2017-08-02' //指定した日時 SELECT * FROM users WHERE date >= '2017-08-03'; SELECT * FROM users WHERE date BETWEEN '2017-08-03 00:00:00' AND '2017-08-03 23:59:59'; //重複系 SELECT DISTINCT No FROM users ; //重複をカウントで表示 SELECT host, COUNT(*) from users GROUP BY host having count(*) >=2; //重複をカウントして名前を付けて降順で表示 SELECT host AS host_name, COUNT(*) AS count from users GROUP BY host having count(*) >=2 ORDER BY count DESC; //重複をカウントして名前を2個付けて降順で表示 SELECT ad AS ad_name, referer AS referer_name, COUNT(*) AS count from users GROUP BY ad having count(*) >=2 ORDER BY count DESC; //カウント系 SELECT COUNT(id) FROM users ; SELECT COUNT(*) from users WHERE site="daylyRecord"; //取得(あいまい検索) LIKE SELECT * FROM users WHERE ad LIKE '%bannerbridge%'; //カラムに値を挿入する INSERT INTO users (lastname, user_id) VALUES('田中', 'tanaka'); //UPDATE(更新) //idを指定する場合(行の指定) UPDATE users SET lastname= "鈴木" WHERE id = 3; //複数空白にする UPDATE users SET tel="" WHERE id BETWEEN 4659 AND 4758; //指定したhostを削除 DELETE DELETE FROM users WHERE host = 'pw000.panda-world.ne.jp'; DELETE FROM users WHERE host LIKE 'KD111%'; DELETE FROM users WHERE id BETWEEN 2010 AND 2109; //テーブル名変更 RENAME TABLE 変更するテーブル名 TO 変更後のテーブル名 RENAME TABLE users TO board; //カラムを追加する ALTER TABLE テーブル名 ADD カラム名 定義; ALTER TABLE テーブル名 ADD 新規カラム名 型情報 AFTER 既存カラム名; ALTER TABLE board ADD user_id varchar(255) AFTER firstname; //カラム名を変更する ALTER TABLE テーブル名 CHANGE 変更前テーブル 変更後テーブル 定義; //join SELECT * FROM users JOIN posts ON users.id = posts.user_id; SELECT * FROM posts JOIN users ON posts.user_id = users.id; SELECT posts.id,users.name,posts.body FROM posts JOIN users ON posts.user_id = users.id ORDER BY posts.id; //あ順 SELECT lastname FROM users WHERE lastname_kana REGEXP '^(あ|い|う|え|お|か|き|く|け|こ|カ|キ|ク|ケ|コ|が|ぎ|ぐ|げ|ご|さ|し|す|せ|そ|サ|シ|ス|セ|ソ|ざ|じ|ず|ぜ|ぞ|た|ち|つ|て|と|タ|チ|ツ|テ|ト|だ|ぢ|づ|で|ど|ナ|ニ|ヌ|ネ|ノ|は|ひ|ふ|へ|ほ|ハ|ヒ|フ|ヘ|ホ|ば|び|ぶ|べ|ぼ|ま|み|む|め|も|マ|ミ|ム|メ|モ|や|ゆ|よ|ヤ|ユ|ヨ)+' //終了 \q //->になってしまったら \c //ユーザー情報 SELECT Host, User, Password FROM mysql.user; //文字コード show variables like "chara%"; |