ホームページ >データベース >mysql チュートリアル >Mysql学習メモ(2)テーブル構造の追加・削除・変更・クエリ

Mysql学習メモ(2)テーブル構造の追加・削除・変更・クエリ

黄舟
黄舟オリジナル
2016-12-21 16:41:191016ブラウズ

Mysql は 1 週間近く更新されていません。逆に、Linux については多くのことを学びました。おそらく私は Linux のほうに感情的に興味があるのか​​もしれません。 mysql は気にならないのですが、一度エネルギーを 1 つのことに費やしてしまうと、他のことにエネルギーを移すのは困難です。

最近、勉強計画とフィットネス計画も調整しました。以前は毎晩仕事が終わってから30分~1時間運動していましたが、今は基本的に夜は早めに就寝しており、特別なことがなければ10時半には確実に寝ています。仕事を終えて家に帰って、2~3時間かけて勉強しましょう。フィットネスに関しては、朝にやるべきです。昨日試してみましたが、朝はまだ起きられます。 5時半に起きて30分走って、朝食を食べに朝市に行く時間もある。

実際、仕事を終えてから興味のあることをしないと、一日があっという間に過ぎてしまいます。

mysql のこの部分は、実際、私にとって日々の練習からよく知られたものです。当初はこの章をスキップしようと思っていましたが、知識をシリーズとして整理することにしました。将来問題に遭遇して知識ポイントを忘れてしまった場合でも、このメモからすぐに答えを見つけ、すぐに思い出すことができます。

しっかりした知識体系は非常に重要であり、この良い習慣を維持できることを願っています。

テストに使用される SQL コードとデータ:

#班级表 create table classes(
    class_no int auto_increment primary key,
    class_name char(20) not null unique,
    department_name char(20) not null )engine=innodb default charset=utf8;

#下面是一些测试数据: insert into classes(class_name,department_name) values ('英语二班','高一英语二班'),
    ('英语三班','高一英语三班'),
    ('英语四班','高一英语四班'),
    ('英语五班','高一英语五班'),
    ('英语六班','高一英语六班'),
    ('数学一班','高一数学一班'),
    ('数学二班','高一数学二班'),
    ('数学三班','高一数学三班'),
    ('数学四班','高一数学四班'),
    ('数学五班','高一数学五班'),
    ('数学六班','高一数学六班'),
    ('语文一班','高一语文一班'),
    ('语文二班','高一语文二班'),
    ('语文三班','高一语文三班'),
    ('语文四班','高一语文四班'),
    ('语文五班','高一语文五班'),
    ('语文六班','高一语文六班');

1. テーブル構造の追加、削除、変更、挿入

注: ここでのデモはクラス テーブルに基づいています。実際のアプリケーションでは、独自のテーブル名に置き換えることができます。 anotion元のテーブル構造は、以下に示すように次のとおりです。 10) null ではないデフォルト '';

フィールドタイプのみを変更します:

Alter Table Classes Modify Test Chat (10);

modify と Change は似ています。違いは、change が置換されるフィールドの名前であることです。変更では、フィールドのフィールド タイプのみが変更されます。

使用するときは違った使い方ができます。 Mysql学習メモ(2)テーブル構造の追加・削除・変更・クエリ

2. テーブル制約を追加、削除、変更、確認します。

仕事では、テーブルに制約を追加したり、制約を削除したりする場面によく遭遇します。

制約の追加:

構文は次のとおりです: alter table テーブル名 addconstraint 制約名 制約タイプ (フィールド名)

alter tableclasses addconstraint myunique unique(class_no);

delete制約 :

制約を削除する前に、テーブルにどの制約が既に存在するかを明確に把握する必要があります。

show create table テーブル名 G で表示できます。ここでの G はグループを意味します (私の主観的な推測)。

テーブルクラスの作成を表示 G G の後には ; 記号がないことに注意してください。

制約を削除するには、どのような制約があるのか​​を知る必要もあります。

Mysql学習メモ(2)テーブル構造の追加・削除・変更・クエリ 制約には通常、主キー制約 (主キー)、外部キー制約 (外部キー)、一意のインデックス名 (インデックス) が含まれます

ここでは、外部キー制約とは何かを簡単に紹介し、まず外部の意味を見ていきます。外国。つまり、このテーブルのこのフィールドのソースは別のテーブルからのものであり、その値は 5 つの値から作成することはできず、別のテーブルから取得する必要があります。

より詳細な紹介については、次の記事を見てみましょう。

主キー制約を削除します:

構文: alter table table name drop Primary key.

栗: alter tableclasss Drop Primary key.

外部キー制約を削除します:

テーブルには 1 つの主キーを持つことができますが、外部キーは複数である必要があります。したがって、外部キーを削除する場合は、そのときに外部キーに付けられた名前、つまり制約名も削除する必要があります。

構文: aleter テーブル テーブル名 外部キー制約名を削除

一意の制約を削除: Mysql学習メモ(2)テーブル構造の追加・削除・変更・クエリ

固有の制約とは: たとえば、ID カード番号は重複しないため、ID カードを入力するプロセス中に、間違いによる重複した ID 番号の入力を防止します。これが唯一の制約です。 unqiue (ユニークな、ユニークな、珍しい)。もちろん、テーブルには複数の一意の制約を含めることもできます。たとえば、ユーザー テーブルには ID 番号と電話番号の両方を含めることもできます。次に、削除するときは、制約名も削除する必要があります。

構文: alter table テーブル名 drop インデックス制約名。

テーブル クラスを変更してインデックス class_name を削除します。

テーブルを変更するためのその他のオプション: ストレージ エンジン タイプの変更、文字セットの変更、自動インクリメントの初期値の変更など。

ストレージ エンジンを変更します: テーブル テーブル名エンジン = 新しいストレージ エンジンを変更します。

3. テーブル名の変更と削除

テーブル名の変更は非常に簡単ですが、頻繁に行われます。これを使って。

プロジェクトの準備段階およびデータベースの設計時。テーブル名を分かりやすくするためには、できるだけわかりやすいデザインにする必要があるため、テーブル名の変更は避けられません。

テーブル名の変更:

alter table テーブル名 新しいテーブル名を変更します。変更 ここでは、テーブル名の変更と変更フィールド名の違いを区別します。 テーブル テーブル名の変更 変更の元のフィールド 新しいフィールドの制約条件。テーブルの名前が変更されても、データ自体は変更されません。したがって、外国人による命名は依然として厳しく禁止されていることがわかります。

テーブル名の削除:

テーブルのテーブル名を変更します。

テーブルを削除するとき。テーブルに外部キーがある場合、エラーが報告されます。なぜ?皆さん、考えてみてください。

もちろん、テーブルを削除しても、myisam ストレージ エンジンにエラーは報告されません。これが理由です?

以上は、テーブル構造の追加、削除、変更、確認に関する Mysql 学習メモ (2) の内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:Mysql学習メモ(1)次の記事:Mysql学習メモ(1)