まずテーブルを作成し、いくつかのデータを挿入します。各データは、ユーザーが Web サイトを訪問した日付 (例: 2000-01-01) を表します。
mysql> CREATE TABLE t1( -> 年 YEAR(4),
-> 月 INT(2) UNSIGNED ZEROFILL,
-> 日 INT(2) UNSIGNED ZEROFILL
-> );
クエリ OK,影響を受ける行は 0 件 (0.53 秒)
-> ; (2000,2,23) ,(2000,2,23);
クエリ OK、影響を受ける 6 行 (0.08 秒)
レコード: 6 重複: 0 警告: 0
-> BIT_COUNT(BIT_OR(1-> 年、月;
+----- -+------+-----+
| 年 | 月日 |
+-----+-----+-----+
| | 01 | 3 |
| 2 |
+-----+-----+-----+
2 行 (0.00 秒)
ポータル BIT_COUNT() と BIT_OR() を説明するブログを共有します。
私と同じ本を読んでいる別のテレポーターがいます。
テーブル内のデータを確認します:
mysql> SELECT * FROM t1;
+------+-------+----------+|年 | 月 | 日 |
+-----+-----+-----+| 2000 | 2000 | 01 | 02 | 23 | 02 |
-+
6 行セット (0.00 秒)
mysql>
送信を読んでもよく理解できないと思われる場合は、私の言葉を聞いてください。
+----------+
|+------ - --+
| 1100100 |+----------+
セット内の 1 行 (0.00 秒)mysql>
では、答えは 3 になるはずです。
mysql> SELECT BIT_COUNT(100);
+----------------+
|
+----------- ----+
+----------------+
1 行 (0.00 秒)mysql>
若いヒーロー、あなたは本当に良い目をしてください。答えは 3 です。
BIT_COUNT() 関数が何をするかがわかりました。
ディーラー価格 |
+--------+-- ------+--- ----+| 0001 | 10.99 | 0003 | 1.69 | 0003 | 0004 | 19.95
7 行セット (0.06 秒)記事列でBIT_OR()を試してみましょう。 実験の前に、結果がどうなるか予想してみてください。
0001
0001
0010
0011
0011
0011
OR 0100
————————
0111
結果は次のようになりますか?
mysql> ショップから BIT_OR(記事) を選択;
+-----------------+
|
+------- --------+
| 7 |
+----------------+
セット内の 1 行 (0.00 秒)
mysql>
7 はバイナリです0111 は正解で、1 がいくつあっても連続 OR の結果は 1 になります
1 or 1 or 0 or 1 = 1
この質問の論理は次のとおりです。今日何度訪れても、私はこの Web サイトにアクセスしたところです (論理表現は 1)
戻ってこの操作をもう一度見てみましょう:
SELECT year, month, BIT_COUNT(BIT_OR(1< これで説明がはるかに簡単になりました。 1 日数を左にシフトすると、対応する桁数が月の日を表します (とにかく 64 ビットで十分です)。たとえば、今日 2017 年 6 月 2 日 1<<2 は 100 で、これは今日この Web サイトにアクセスしたことを意味します。 日フィールドを OR 演算した後、64 ビットのバイナリが得られました (この数値の意味を説明する必要はないと思います)。次に、BIT_COUNT() 関数を使用してカウントし、望んだ結果が得られました (これには疲れました)。死ぬほど) (๑•ᴗ•๑)、長々と書き連ねてきたので、よく理解できているかわかりませんが) AUTO_INCREMENT
を使用します。 操作に進むだけで、自動的に追加されることがわかります: mysql>
-> ; id ME DIUMINT NOT NULL AUTO_INCREMENT,
-> name CHAR(30) NOT NULL,
->PRIMARY KEY(id)
-> );
クエリは 0 行に影響を受けます (0.85 秒)動物 (名前) の値を挿入します
-> ('犬'),('猫'),('ペンギン'),
クエリ OK、6 行が影響を受けました (0.13 秒)
レコード: 6 重複: 0 警告: 0
mysql> SELECT * FROM 動物;
+----+---------+
| 名前 |
+ --------+
| 2 | ペンギン |
| |
| 6 | ダチョウ |
+-- --+----------+
6 行セット (0.00 秒)
mysql>
まず、フィールド ID と名前を含む動物テーブルを作成します。 ID は自動インクリメントされる主キーに設定され、データの挿入時に名前のみが書き込まれます。 その後、ID が自動的に入力されます。
tbl_name
AUTO_INCREMENT = 2333;続きます...
以上がMySQLの勉強メモの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。