便利で一般的なMySQLクエリの例と、開発者およびDBAの回答
MySQLデータベースの作成方法
mysql> create database techdb;
mysql> use techdb;
mysqlデータベースにテーブルを作成するにはどうすればよいですか?
MySQLデータベースでのテーブル作成の例を次に示します
(1)最初にデータベースにアクセスする必要があります
use techdb;
(2)以下の構文を使用してテーブルを作成します
CREATE TABLE test ( test_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, test_desp varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', test_name varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', test_updated datetime NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (test_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
テーブル作成シンタのさまざまな詳細の説明 x
test->テーブル名
test_id、test_description->テーブル列
bigint(20、varchar->列のデータ型
null以外->列をnullにすることはできません
utf8mb4_unicode_ci->照合
AUTO_INCREMENT->値は挿入時に自動的にインクリメントされます
エンジン->テーブルのエンジンを指定します
作成後にテーブルの構造を表示する方法
テーブルが正常に作成されると、
を使用してテーブル構造を表示できます。Desc test
MySQLでテーブルのテーブル作成ステートメントを取得するにはどうすればよいですか?
コマンドを使用して見つけることができます
mysql> show create table <table name>
テーブルで以下の一般的なDML操作を実行するにはどうすればよいですか?
(a)ステートメントの挿入
insert into test (test_desctiption,test_name,test_updated) values ('this is mysql test','mysql-test-1',current_date);
ここでは、自動インクリメントであるtest_idを指定しませんでした。これは、行がテーブルに挿入されるときに値を持ちます
(b)ステートメントを選択
select * from test where test_id=1;
(c)ステートメントの削除
delete from test where test_id=1;
セッションの自動コミットを無効にするにはどうすればよいですか?
SET autocommit=0;
MySQLでテーブルを変更または削除するにはどうすればよいですか?
テーブルを変更
alter table test add (test_description varchar(255) not null default '');
ドロップテーブル
drop table test2;
MySQLで別のテーブルからテーブルを作成するにはどうすればよいですか?
create table test4 select * from test3;
MySQLでインデックスを作成し、テーブルにインデックスをドロップするにはどうすればよいですか?
(a)インデックスを作成する
create index test3_idx on test3(table_name);
(b)インデックスを表示
show index from test3;
(c)ドロップインデックス
drop index test3_idx on test3
mysqlクエリの実行プランを取得するにはどうすればよいですか?
explain <query>
Mysqlで結合を使用して複数のテーブルからデータを選択するにはどうすればよいですか?
Mysqlは、複数のテーブルから同時にデータをフェッチするための内部結合、左結合、および右結合をサポートしています。
内部参加
select test_name,student_name,test_marks from test,student_test where test.test_id=student_test.test_id; or select test_name,student_name,test_marks from test join student_test on test.test_id=student_test.test_id
左参加
select test_name,student_name,test_marks from test left join student_test on test.test_id=student_test.test_id;
右参加
select test_name,student_name,test_marks from test right join student_test on test.test_id=student_test.test_id;
MySQLデータベースの列の自動インクリメント
Mysqlの列に自動インクリメント属性を設定できます
CREATE TABLE test ( test_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, test_desp varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', test_name varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', test_updated datetime NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (test_id) )
これらのMySQLクエリの例と回答が気に入っていただければ幸いです
関連記事
WindowsにMySQLをインストールするためのステップバイステップガイド
自動インクリメント列–Oracleおよびmysqlのデフォルト値としてのシーケンス
トップ51のよくあるMySQLインタビューの質問と回答
ビルドするためのステップバイステップガイドWindows上のローカルApachePHPMySQL開発環境
MySQLルートパスワードをリセットする方法