【MySQL】(3)约束以及修改数据表_MySQL
1. 约束
约束保证数据的完整性和一致性,约束分为表级约束和列级约束。约束类型包括:NOT NULL(非空约束)、PRIMARY KEY(主键约束)、UNIQUE KEY(唯一约束)、DEFAULT(默认约束)、FOREIGN KEY(外检约束)。
外键约束保证了数据的一致性、完整性,实现了一对一或一对多的关系
外键约束的要求:
(1). 父表和字表必须使用相同的存储引擎,而且禁止使用临时表。
(2). 数据表的存储引擎只能为InnoDB。
(3). 外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同;而字符的长度则可以不同。
(4). 外键列和参照列必须创建索引。如果外键列不存在索引的话,MySQL将自动创建索引。
MySQL配置文件:
default-storage-engine=INNODB
1 2 3 4 5 |
|
2. 外键约束的参照操作
(1). CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行
(2). SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL。如果使用该选项,必须保证子表列没有指定NOT NULL
(3). RESTRICT:拒绝对父表的删除或更新操作。
(4). NO ACTION:标准SQL的关键字,在MySQL中与RESTRICT相同
例如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
3. 表级约束与列级约束
对一个数据列简历的约束,称为列级约束;对多个数据列建立的约束,称为表级约束。列级约束既可以在列定义时声明,也可以在列定义后声明。表级约束只能在列定以后声明。
4. 修改数据表
(1). 添加/删除列
添加单列:
ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name];
添加多列:
ALTER TABLE tbl_name ADD [COLUMN] (col_name column_definition,...);
删除列:
ALTER TABLE tbl_name DROP [COLUMN] col_name;
例如:
1 2 3 4 5 6 7 8 9 10 |
|
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...);
例如:
1 2 3 4 5 6 |
|
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] (index_col_name,...);
例如:
1 2 |
|
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) reference definition;
例如:
1 2 3 |
|
ALTER TABLE tbl_name ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT};
例如:
1 2 3 4 5 6 7 8 |
|
ALTER TABLE tbl_name DROP PRIMARY KEY;
例如:
1 2 3 |
|
ALTER TABLE tbl_name DROP {INDEX | KEY} index_name;
例如:
1 2 3 4 5 6 7 |
|
(8). 删除外键约束
ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol;
例如:
1 2 3 4 5 6 7 |
|
ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name];
例如:
1 2 3 4 5 6 |
|
ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST | AFTER col_name];
例如:
1 2 3 |
|
方法一:
ALTER TABLE tbl_name RENAME [TO | AS] new_tbl_name;
方法二:
RENAME TABLE tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2]...;
例如:
1 2 3 4 |
|
5. 总结
(1). 约束:
按功能划分:NOT NULL,PRIMARY KEY,UNIQUE KEY,DEFAULT, FOREIGN KEY
按数据列的数目划分:表级约束、列级约束
(2). 修改数据表:
针对字段的操作:添加/删除字段、修改列定义、修改列名称等
针对约束的操作:添加/删除各种约束
针对数据表的操作:数据表更名(两种方式)

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









MySQL は、多くの Web サイトやアプリケーションの中核コンポーネントである一般的なリレーショナル データベースです。データの量がますます大きくなるにつれて、MySQL のパフォーマンスを最適化する方法が特に重要になります。重要な領域の 1 つはデータ テーブルの圧縮です。この記事では、MySQL のデータ テーブル圧縮テクノロジを紹介します。圧縮テーブルと非圧縮テーブル MySQL には、圧縮テーブルと非圧縮テーブルの 2 種類のデータ テーブルがあります。非圧縮テーブルは MySQL のデフォルトのテーブル タイプで、固定長の行形式を使用してデータを格納します。これはデータを意味します

MySQL は、完全な DDL (データ定義言語) 操作をサポートする非常に人気のあるオープン ソース リレーショナル データベース管理システムです。 DDL は、データ テーブル、ビュー、インデックスなど、データベース内のさまざまなデータ オブジェクトを定義および管理するために使用される言語です。データベース管理者と開発者にとって、MySQL のデータ テーブルの DDL 操作テクノロジに習熟することは非常に重要です。この記事では、MySQL におけるデータテーブルの DDL 操作の技術と方法を詳しく紹介し、実際の操作例を示します。 1. データ テーブルの作成 データ テーブルの作成は DDL で行われます。

MySQL はデータ テーブルを変更します: 1. まずデータベース内のすべてのテーブルを確認します。コードは「SHOW TABLES;」です。 2. テーブル名を変更します。コードは「ALTER TABLE 古いテーブル名 RENAME [TO] 新しいテーブル名」です。 ;"。 3. テーブル名が正常に変更されたかどうかを確認します。コードは「SHOW TABLES;」です。

MySQL はオープンソースのリレーショナル データベース管理システムであり、その基本機能はデータベースの設計、データの保存、管理において優れています。 MySQL では、データ テーブルはデータ ストレージの最も基本的な単位です。実際のアプリケーションでは、データ テーブルのリロードは非常に一般的な操作手法であり、データベースの操作効率を向上させ、システムの安定性を向上させるのに役立ちます。この記事では、MySQL におけるデータ テーブルのオーバーロードの概念、原理、実際の応用まで、この操作テクニックを詳しく紹介します。 1. データ テーブルのオーバーロードとは何ですか? データ テーブルのオーバーロードとは、

MySQL の AVG 関数を使用してデータ テーブル内の数値列の平均値を計算する方法の紹介: MySQL は、データを処理および計算するための豊富な組み込み関数を備えたオープン ソースのリレーショナル データベース管理システムです。このうち、AVG関数は数値列の平均を計算するために使用される関数です。この記事では、AVG 関数を使用して MySQL データ テーブル内の数値列の平均値を計算する方法を紹介し、関連するコード例を示します。 1. サンプル データ テーブルを作成する まず、デモンストレーション用のサンプル データ テーブルを作成する必要があります。というファイルがあるとします。

thinkorm を使用してデータ テーブル間で関連クエリを実装する方法 はじめに: データベース開発中、複数のデータ テーブル間で関連クエリを実行する必要がある状況によく遭遇します。優れたデータベース ORM フレームワークである thinkorm を使用すると、データ テーブルの関連クエリを簡単に実装し、開発効率を向上させることができます。この記事では、thinkorm を使用してデータ テーブル間の関連クエリを実装する方法を紹介し、読者の理解を助けるコード例を示します。 1. 基本概念 関連するクエリを実行する前に、まず次のことを理解する必要があります。

MySQL の基礎となる最適化を実現する方法: データ テーブルの水平および垂直パーティション化戦略 (特定のコード サンプルが必要) はじめに: 大規模なアプリケーション シナリオでは、MySQL データベースは、大量のデータの保存とクエリのプレッシャーに直面することがよくあります。この問題を解決するために、MySQL は、水平パーティショニング (水平パーティショニング) と垂直パーティショニング (VerticalPartitioning) を含むデータ テーブル パーティショニング戦略を提供します。この記事では、次の点に焦点を当てて、MySQL の基盤となる最適化を実装する方法を紹介します。

MySQL で MAX 関数を使用してデータ テーブルの最大値を見つける方法 はじめに: MySQL では、データ テーブルの最大値を見つけるなど、データ テーブルに対してさまざまなクエリや分析を実行する必要があることがよくあります。データ テーブルの最大値は MAX 関数を使用して簡単に見つけることができ、データをさらに処理するときに非常に役立ちます。この記事では、MAX 関数を使用してデータ テーブル内の最大値を見つける方法と、対応するコード例を紹介します。 1. MAX 関数の概要 MAX 関数は、MySQL の集計関数です。
