MySQLデータベーステーブル作成プロセス
目次
MySQL コマンドラインのデータベースのインポートおよびエクスポート
データベースを作成して使用する
ステップ 1: コマンドラインを開く
場合によっては、パスワードを直接入力することもできます (ソフトウェア バージョンの方が一般的に使用されます)。
場合によっては、最初に[ Win+r ] を入力し、次に[ cmd ]を入力してMySQL コマンド ラインを開きます (さらに使用します)。
その他の方法は、データベースのインストール ディレクトリの下にある [bin] フォルダーに移動し、アドレス バーで [cmd] を実行することです。
注: Windows で MySQL を起動するいくつかの方法
ステップ 2: MySQL を実行する
cmd を実行した後、「[ mysql -u root -p ]」 と入力して Enter キーを押します。パスワードがないため、パスワードの入力はありません。
[通常は、設定したパスワード: (デフォルト: 123456) を入力し、Enter キーを押します。】
ステップ 3: データベースとテーブル データを作成する
最初はデータベースを作成します。ここではデータベースにjdbc_demoという名前を付けます。
入力:
create database jdbc_demo;
2. 次に、作成が成功したかどうかを確認します
入力:
show databases;
3. データベースを利用する
入力:
use jdbc_demo;
4.テーブルを作成し、ID、名前、パスワードの 3 つの情報をテーブルに含めます(テーブル内の情報は任意に変更できます)
入力:
create table user(
id int(4) not null primary key auto_increment,
username varchar(20) not null,
password varchar(10) not null
);
もちろん、テーブルを作成する前にテーブルが存在するかどうかを判断することもできます。
テーブルがデータベースに存在する場合は、データベースから削除します。
DROP TABLE IF EXISTS 表名;
一般に、次のように記述できます。
IF EXISTS テーブル名; 機能: テーブルが存在する場合は削除 (このコードがどのように実行されてもエラーは報告されません)
DROP TABLE IF EXISTS user;
-- IF EXISTS 表名; 作用:如果表存在就删掉(这段代码怎么执行都不会报错)
create table user
(
id int(4) primary key auto_increment, -- 主键ID 可以不设置非空,因为主键本来就是非空且唯一
username varchar(20) not null, -- 用户名 非空
password varchar(10) not null -- 密码 非空
);
5. テーブルが存在するかどうかを確認します
入力:
show tables;
6. テーブルの定義を表示します。
入力:
desc user;
7. データの挿入(ここでは何気なく書きます)
入力:
insert into user values(0,"tom","12");
8. データの表示
入力:
select * from user;
この時点で、データベースの作成とテーブルの作成のプロセスが完了しました。実行時の効果を見てみましょう。
注:すべての記号は英語で表記されています。
テーブル作成時の制約
制約は、テーブルの作成時に列に追加される必須のデータ ルールです。
テーブルを作成するための構文構造
CREATE TABLE <表名> (
<列名> <数据类型> [列级完整性约束定义]
{, <列名> <数据类型> [列级完整性约束定义]
… }
[, 表级完整性约束定义 ]
);
制約タイプ
上記の Student テーブルの構造に従って制約タイプを記述します。
主キー: PRIMARY KEY (テーブルは最大 1 つだけ設定できます。テーブルの各行の一意の識別子であり、空ではなく一意です)
外部キー:FOREIGN KEY(他のテーブルの主キーであり、2つのテーブルは依存関係にあります)、他のテーブルに依存するテーブルを親テーブル、他のテーブルに依存するテーブルが子テーブルと呼ばれます。子テーブルのデータが追加または変更される場合、データは親テーブルに存在する必要があります。親テーブルのデータが削除または変更されると、そのデータは子テーブルで使用されなくなります。
NOT NULL: NOT NULL (NULL は許可されません)
一意性:携帯電話番号など、UNIQUE (この制約が特定の列定義に追加されると、後続のデータの繰り返しが許可されなくなります)。各テーブルには主キー制約があることが望ましい
チェック制約: CHECK (条件式)。性別を男性または女性のみに制限するなど、列の値の範囲またはルールを制限するために使用されます。
自動インクリメント: auto_increment (主キーでよく使用されます。ID が 1、2、3、4、5 の場合、数字の 3 を削除すると、1、2、4、5 になります)
【例1】学生テーブルを例にします
スノ | 名前 | セックス | 年 | 出発 | UID |
09512101 | 張三 | 男 | 18 | コンピュータサイエンス | 000001 |
09512102 | 李思 | 男 | 19 | コンピュータサイエンス | 000002 |
09512103 | ワン・ウー | 女性 | 20 | コンピュータサイエンス | 000003 |
列名 | データの種類 | 制約 | 説明する |
スノ | CHAR(8) | 主キー | 各学生 ID は空であってはならず、一意である必要があります。 |
名前 | CHAR(10) | 空ではない | 名前情報を保存する必要がある |
セックス | CHAR(2) | 診る | 値「男性」または「女性」 |
年 | INT | 診る | 10歳未満と60歳以上の学生の年齢は意味がない |
出発 | VARCHAR(26) | デフォルト | デフォルト値は「コンピュータ部門」です。 |
UID | チャー(18) | ユニークな価値 | 各人のID番号は一意です |
学生テーブルを作成する
CREATE TABLE student(
sno CHAR(8) PRIMARY KEY ,
name CHAR(10) NOT NULL ,
sex CHAR(2) CHECK(sex ='男' OR sex ='女'),
age INT CHECK(age >=10 AND age <=60),
dep VARCHAR(26) default '计算机系',
uid CHAR(18) UNIQUE
);
【例2】stulessonテーブルを例に使用する場合
スノ | 名前 | スコア |
001 | データベースの原理 | 90 |
003 | データベースの原理 | 80 |
003 | C言語 | 75 |
リスト | データの種類 | 制約 | 説明する |
スノ | CHAR(8) | ||
名前 | チャー(50) | 空ではない | 名前情報を保存する必要がある |
スコア | INT | 診る | 0~100の間 |
ストゥレッソンテーブルを作成する
CREATE TABLE stulesson(
sno CHAR(8),
cname CHAR(50) NOT NULL,
score INT CHECK(score >=0 AND score <=100),
PRIMARY KEY(sno, cname),
FOREIGN KEY(sno) REFERENCES student(sno)
)
ノート:
<テーブル名>: 定義する基本テーブルの名前
<列名>: テーブルを構成する各属性(列)
<列レベルの整合性制約>: 対応する属性列に関係する整合性制約
<テーブルレベルの整合性制約>: 1 つ以上の属性列を含む整合性制約
このうち、PRIMARY KEYは主キー制約、CHECKはチェック制約です。
その他の SQL ステートメント
データベースを削除します。
データベースのデータベース名を削除します
ドロップテーブル:
ドロップテーブル テーブル名
テーブルの最後に列を追加します。
テーブルのテーブル名を変更し、列名のデータ型を追加します(制約条件)。
テーブルの先頭に列を追加します。
テーブルのテーブル名を変更し、最初に列名のデータ型 (制約条件) を追加します。
MySQL コマンドラインのデータベースのインポートおよびエクスポート
SQLファイルを直接インポートしたい場合、またはSQLファイルを作成した後にデータベースをエクスポートしたい場合はどうすればよいですか?