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
テーブルを作成するデータベースを選択します.
tb_の作成Emp 1テーブル:
【例.2】データテーブルtb_の定義Emp 2、そのプライマリキーはid:
【例.3】すべてのカラムを定義した後にプライマリ・キーを指定する
データテーブルtb_の定義Emp 3、そのプライマリキーはid:
【例.4】データテーブルtb_の定義Emp 4、マルチフィールド結合プライマリキーSQL文を作成するには:
【例.5】データテーブルtb_の定義Emp 5、tb_Emp 5テーブルに外部キーコンストレイントを作成する
部門テーブルtb_を作成するdept1:
データテーブルtb_の定義Emp 5は、そのキーdeptIdを外部キーとしてtb_に関連付けるdept 1のプライマリ・キーid:
【例.6】データテーブルtb_の定義Emp 6、指定された従業員の名前は空ではありません.SQL文は次のとおりです.
【例.7】データテーブルtb_の定義dept 2、指定部門の名前は一意で、SQL文は次のとおりです.
【例.8】すべてのカラムを定義した後の一意の制約
データテーブルtb_の定義dept 3、指定部門の名前は一意で、SQL文は次のとおりです.
【例.9】データテーブルtb_の定義Emp 7、指定された従業員の部門番号はデフォルト1111、SQL文は次のとおりです.
【例.10】データテーブルtb_の定義Emp 8、指定された従業員の番号は自動的に増加し、SQL文は次のとおりです.
【例.11】表tb_をそれぞれ
【例.12】
データテーブルの構造の表示
1.テーブル基本構造文describeまたはdesc+テーブル名を表示します.
2.表詳細構造文
データテーブルの変更
1.表名の変更
【例.13】データテーブルtb_dept 3をtb_と改名deptment3
2.フィールドのデータ型の変更
【例.14】データテーブルtb_dept 1のnameフィールドのデータ型はVARCHAR(22)からVARCHAR(30)に変更される
3.フィールド名の変更
【例.15】データテーブルtb_dept 1のlocationフィールド名はlocに変更され、データ型は変更されません.
【例.16】データテーブルtb_dept 1のlocフィールド名をlocationに変更し、データ型をvarchar(60)に変更します.
4.フィールドの追加
【例.17】データテーブルtb_deptに整合性制約のないintタイプのフィールドmanagerId(部門マネージャ番号)を追加し、SQL文を次のように入力します.
【例.18】データテーブルtb_dept 1には、空ではないvarchar(12)タイプのフィールドcolumn 1が追加されます.次のSQL文を入力して実行します.
【例.19】データテーブルtb_deptにintタイプのフィールドcolumn 2を追加します.次のSQL文を入力して実行します.
【例.20】データテーブルtb_dept 1のname列の後にintタイプのフィールドcolumn 3を追加します.次のSQL文を入力して実行します.
5.フィールドの削除
【例.21】データテーブルtb_の削除dept 1テーブルのcolumn 2フィールド
6.フィールドの配置位置の変更
【例.22】データテーブルtb_dept 1のcolumn 1フィールドをテーブルの最初のフィールドに変更
【例.23】データテーブルtb_dept 1のcolumn 1フィールドをlocationフィールドの後ろに挿入
7.データの外部キー制約の削除
【例.25】データテーブルtb_の削除Emp 9の外部キー制約
データテーブルの削除
【例.26】データテーブルtb_の削除dept 2は、次のSQL文を入力して実行します.
【例.27】被データテーブルtbを削除Emp関連データテーブルtb_dept2
親テーブルtbを直接削除dept2
連結解除サブテーブルtb_Empの外部キー制約
MySQLに関する詳細については、「MySQL常用関数大要約」、「MySQLログ操作テクニック大全」、「MySQLトランザクション操作テクニック要約」、「SQL Myストレージプロセステクニック大全」および「MySQLデータベースロックに関するテクニック汇总」を参照してください.
本明細書では、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データベース・メーターについて説明します.