MySQLデータテーブルの基本操作例の詳細

7651 ワード

この例では、MySQLデータテーブルの基本的な操作について説明します.皆さんの参考にしてください.具体的には以下の通りです.
データテーブルの基本操作
1.プライマリ・キー制約では、プライマリ・キー列のデータが一意であり、空であることは許可されません.プライマリ・キーは、テーブル内のレコードを一意に識別し、外部キーと組み合わせて異なるデータ・テーブル間の関係を定義し、データベース・クエリーの速度を速めることができます.プライマリ・キーとレコードの関係は、身分証明書と人の関係のようなものです.
2.ワードテーブルの外部キーは、親テーブルのプライマリ・キーに関連付けられ、関連フィールドのデータ型が一致する必要があります.タイプが違う場合.サブテーブルを作成するとエラーが発生します:ERROR 1005(HY 000):can't create table'databases.tablesname'(error:150)
3.NULL以外の制約は、フィールドの値がNULLにならないことを意味します.
4.一意性制約:カラムが一意であること、空であることを許可することが要求されますが、空の値は1つしか表示されません.ユニークな制約により、1つまたは複数のカラムに重複値が表示されないようにします.
5.uniqueとprimary keyの違い:1つのテーブルに複数のフィールドをuniqueとして宣言できますが、1つのprimary key宣言しかありません.キーワードとして宣言された列は空の値は許可されませんが、uniqueとして宣言されたフィールドは空の値nullの存在を許可します.
【例.1】従業員表tb_の作成emp1
テーブルを作成するデータベースを選択します.

USE test_db;


tb_の作成Emp 1テーブル:

CREATE TABLE tb_emp1
(
id int(11),
name varchar(25),
deptId int(11),
salary float
);


【例.2】データテーブルtb_の定義Emp 2、そのプライマリキーはid:

CREATE TABLE tb_emp2
(
id int(11) PRIMARY KEY,
name varchar(25),
deptId int(11),
salary float
);


【例.3】すべてのカラムを定義した後にプライマリ・キーを指定する
データテーブルtb_の定義Emp 3、そのプライマリキーはid:

CREATE TABLE tb_emp3
(
id int(11),
name varchar(25),
deptId int(11),
salary float,
PRIMARY KEY(id)
);


【例.4】データテーブルtb_の定義Emp 4、マルチフィールド結合プライマリキーSQL文を作成するには:

CREATE TABLE tb_emp4
(
name varchar(25),
deptId int(11),
salary float,
PRIMARY KEY(name,deptId)
);


【例.5】データテーブルtb_の定義Emp 5、tb_Emp 5テーブルに外部キーコンストレイントを作成する
部門テーブルtb_を作成するdept1:

CREATE TABLE tb_dept1
(
id int(11) PRIMARY KEY,
name varchar(22) NOT NULL,
location varchar(50)
);


データテーブルtb_の定義Emp 5は、そのキーdeptIdを外部キーとしてtb_に関連付けるdept 1のプライマリ・キーid:

CREATE TABLE tb_emp5
(
id int(11) PRIMARY KEY,
name varchar(25),
deptId int(11),
salary float,
CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptId) REFERENCES tb_dept1(id)
);


【例.6】データテーブルtb_の定義Emp 6、指定された従業員の名前は空ではありません.SQL文は次のとおりです.

CREATE TABLE tb_emp6
(
id int(11) PRIMARY KEY,
name varchar(25) NOT NULL,
deptId int(11),
salary float,
CONSTRAINT fk_emp_dept2 FOREIGN KEY (deptId) REFERENCES tb_dept(id)
);


【例.7】データテーブルtb_の定義dept 2、指定部門の名前は一意で、SQL文は次のとおりです.

CREATE TABLE tb_dept2
(
id int(11) PRIMARY KEY,
name varchar(22) UNIQUE,
location varchar(50)
);


【例.8】すべてのカラムを定義した後の一意の制約
データテーブルtb_の定義dept 3、指定部門の名前は一意で、SQL文は次のとおりです.

CREATE TABLE tb_dept3
(
id int(11) PRIMARY KEY,
name varchar(22),
location varchar(50),
CONSTRAINT STH UNIQUE(name)
);


【例.9】データテーブルtb_の定義Emp 7、指定された従業員の部門番号はデフォルト1111、SQL文は次のとおりです.

CREATE TABLE tb_emp7
(
id int(11) PRIMARY KEY,
name varchar(25) NOT NULL,
deptId int(11) DEFAULT 1111,
salary float,
CONSTRAINT fk_emp_dept3 FOREIGN KEY (deptId) REFERENCES tb_dept(id)
);


【例.10】データテーブルtb_の定義Emp 8、指定された従業員の番号は自動的に増加し、SQL文は次のとおりです.

CREATE TABLE tb_emp8
(
id int(11) PRIMARY KEY AUTO_INCREMENT,
name varchar(25) NOT NULL,
deptId int(11),
salary float,
CONSTRAINT fk_emp_dept5 FOREIGN KEY (deptId) REFERENCES tb_dept(id)
);
INSERT INTO tb_emp8 (name,salary) VALUES('Lucy',1000), ('Lura',1200),('Kevin',1500);
select * from tb_emp8;


【例.11】表tb_をそれぞれDESCRIBEおよびDESCを用いて表示するdeptとテーブルtb_Emp 1のテーブル構造は、次のように操作されます.

DESCRIBE tb_dept;
DESC tb_emp1;


【例.12】SHOW CREATE TABLEを使用して表tb_を表示するEmp 1の詳細、SQL文および対応する実行結果は以下の通りです.

SHOW CREATE TABLE tb_emp1;
SHOW CREATE TABLE tb_emp1\G;


データテーブルの構造の表示
1.テーブル基本構造文describeまたはdesc+テーブル名を表示します.
2.表詳細構造文show create tableを表示します.'G'パラメータを付けないと、表示結果が混乱する可能性があります.パラメータ'G'を加えると、表示結果がより直感的に表示され、表示が容易になります.
データテーブルの変更
1.表名の変更
【例.13】データテーブルtb_dept 3をtb_と改名deptment3

ALTER TABLE tb_dept3 RENAME tb_deptment3;


2.フィールドのデータ型の変更
【例.14】データテーブルtb_dept 1のnameフィールドのデータ型はVARCHAR(22)からVARCHAR(30)に変更される

ALTER TABLE tb_dept MODIFY name VARCHAR(30);


3.フィールド名の変更
【例.15】データテーブルtb_dept 1のlocationフィールド名はlocに変更され、データ型は変更されません.

ALTER TABLE tb_dept1 CHANGE location loc varchar(50);


【例.16】データテーブルtb_dept 1のlocフィールド名をlocationに変更し、データ型をvarchar(60)に変更します.

ALTER TABLE tb_dept1 CHANGE loc location varchar(60);


4.フィールドの追加
【例.17】データテーブルtb_deptに整合性制約のないintタイプのフィールドmanagerId(部門マネージャ番号)を追加し、SQL文を次のように入力します.

ALTER TABLE tb_dept ADD managerId int(10);


【例.18】データテーブルtb_dept 1には、空ではないvarchar(12)タイプのフィールドcolumn 1が追加されます.次のSQL文を入力して実行します.

ALTER TABLE tb_dept1 ADD column1 varchar(12) not null;


【例.19】データテーブルtb_deptにintタイプのフィールドcolumn 2を追加します.次のSQL文を入力して実行します.

ALTER TABLE tb_dept ADD column2 int(11) FIRST;


【例.20】データテーブルtb_dept 1のname列の後にintタイプのフィールドcolumn 3を追加します.次のSQL文を入力して実行します.

ALTER TABLE tb_dept1 ADD column3 int(11) AFTER name;


5.フィールドの削除
【例.21】データテーブルtb_の削除dept 1テーブルのcolumn 2フィールド

ALTER TABLE tb_dept1 DROP column2;


6.フィールドの配置位置の変更
【例.22】データテーブルtb_dept 1のcolumn 1フィールドをテーブルの最初のフィールドに変更

ALTER TABLE tb_dept1 MODIFY column1 varchar(12) FIRST;


【例.23】データテーブルtb_dept 1のcolumn 1フィールドをlocationフィールドの後ろに挿入

ALTER TABLE tb_dept1 MODIFY column1 varchar(12) AFTER location;


7.データの外部キー制約の削除
【例.25】データテーブルtb_の削除Emp 9の外部キー制約

CREATE TABLE tb_emp9
(
id int(11) PRIMARY KEY,
name varchar(25),
deptId int(11),
salary float,
CONSTRAINT fk_emp_dept FOREIGN KEY (deptId) REFERENCES tb_dept1(id)
);
ALTER TABLE tb_emp9 DROP FOREIGN KEY fk_emp_dept;


データテーブルの削除
【例.26】データテーブルtb_の削除dept 2は、次のSQL文を入力して実行します.

DROP TABLE IF EXISTS tb_dept2;


【例.27】被データテーブルtbを削除Emp関連データテーブルtb_dept2

CREATE TABLE tb_dept2
(
id int(11) PRIMARY KEY,
name varchar(22),
location varchar(50)
);
CREATE TABLE tb_emp
(
id int(11) PRIMARY KEY,
name varchar(25),
deptId int(11),
salary float,
CONSTRAINT fk_emp_dept FOREIGN KEY (deptId) REFERENCES tb_dept2(id)
);


親テーブルtbを直接削除dept2

DROP TABLE tb_dept2;


連結解除サブテーブルtb_Empの外部キー制約

ALTER TABLE tb_emp DROP FOREIGN KEY fk_emp_dept;


MySQLに関する詳細については、「MySQL常用関数大要約」、「MySQLログ操作テクニック大全」、「MySQLトランザクション操作テクニック要約」、「SQL Myストレージプロセステクニック大全」および「MySQLデータベースロックに関するテクニック汇总」を参照してください.
本明細書では、MySQLデータベース・メーターについて説明します.