mysql データベース テーブルを変更する方法: 「ALTER TABLE」ステートメントを使用して、フィールドの追加または削除、元のフィールドのデータ型の変更、フィールドまたはテーブルの名前変更、フィールドの変更など、元のテーブルの構造を変更します。テーブルの文字セットなど。構文「ALTER TABLE [オプションの変更]」。
#データ テーブルを変更するための前提条件は、テーブルがデータベースにすでに存在していることです。テーブルの変更とは、データベース内の既存のデータ テーブルの構造を変更することを指します。データテーブルを修正するという作業もデータベース管理には欠かせない作業で、描きすぎたら消しゴムで消したり、描きすぎたらペンで書き足したり、下絵を描くのと同じです。
データテーブルの修正方法が分からないということは、間違っても破棄して再描画することと同じであり、無駄なコストが増加します。
MySQL では、ALTER TABLE
ステートメントを使用して、列の追加または削除、元の列タイプの変更、列またはテーブルの名前変更など、元のテーブルの構造を変更できます。 。
構文形式は次のとおりです:
ALTER TABLE <表名> [修改选项]
オプションを変更するための構文形式は次のとおりです:
{ ADD COLUMN <列名> <类型> | CHANGE COLUMN <旧列名> <新列名> <新列类型> | ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT } | MODIFY COLUMN <列名> <类型> | DROP COLUMN <列名> | RENAME TO <新表名> | CHARACTER SET <字符集名> | COLLATE <校对规则名> }
テーブル名の変更
MySQL は ALTER TABLE ステートメントを使用してテーブル名を変更します。構文規則は次のとおりです:
ALTER TABLE <旧表名> RENAME [TO] <新表名>;
このうち、TO はオプションのパラメーターであり、それが使用されるかどうかnot は結果に影響しません。
例 1
Use ALTER TABLE to rename the data tablestudent を tb_students_info に変更します。SQL ステートメントと実行結果は次のとおりです。
mysql> ALTER TABLE student RENAME TO tb_students_info; Query OK, 0 rows affected (0.01 sec) mysql> SHOW TABLES; +------------------+ | Tables_in_test | +------------------+ | tb_students_info | +------------------+ 1 row in set (0.00 sec)
ヒント: テーブル名を変更してもテーブルの構造は変更されないため、名前を変更した後のテーブルの構造は、名前を変更する前のテーブルの構造と同じになります。ユーザーは DESC コマンドを使用して、変更されたテーブル構造を表示できます。
テーブルの文字セットを変更する
MySQL は、 ALTER TABLE 文の変更後の構文規則は次のとおりです。
ALTER TABLE 表名 [DEFAULT] CHARACTER SET <字符集名> [DEFAULT] COLLATE <校对规则名>;
このうち、DEFAULT はオプションのパラメータであり、使用してもしなくても結果には影響しません。
例 2
ALTER TABLE を使用して、データ テーブル tb_students_info の文字セットを gb2312 に変更し、照合ルールを gb2312_chinese_ci に変更します。 SQL文と実行結果を以下に示します。
mysql> ALTER TABLE tb_students_info CHARACTER SET gb2312 DEFAULT COLLATE gb2312_chinese_ci; Query OK, 0 rows affected (0.08 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> SHOW CREATE TABLE tb_students_info \G *************************** 1. row *************************** Table: tb_students_info Create Table: CREATE TABLE `tb_students_info` ( `id` int(11) NOT NULL, `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=gb2312 1 row in set (0.00 sec)
MySQL データ テーブルにフィールドを追加する
MySQL データ テーブルは行と列で構成されます。テーブルの「列」は通常、次のように呼ばれます。フィールド(Field)とは、テーブルの「行」をレコード(Record)として指します。ビジネスの変化に応じて、既存のテーブルに新しいフィールドを追加することが必要になる場合があります。
MySQL では、先頭、中間、最後にフィールドを追加できます。
最後にフィールドを追加します
完全なフィールドには、フィールド名、データ型、制約が含まれます。 MySQL でフィールドを追加するための構文形式は次のとおりです:
ALTER TABLE <表名> ADD <新字段名><数据类型>[约束条件];
構文形式については次のように説明されます:
はデータの名前です。 table;
は追加するフィールドの名前です;
はフィールドですデータを保存できるデータ型;
[制約]はオプションであり、追加されたフィールドを制約するために使用されます。
この構文形式では、デフォルトでテーブルの最後の位置 (最後の列の後) に新しいフィールドが追加されます。
注: このセクションでは、新しいフィールドを追加するだけであり、その制約には注意を払いません。
例
テスト データベースに新しい学生データ テーブルを作成します。SQL ステートメントと実行結果は次のとおりです:
mysql> USE test; Database changed mysql> CREATE TABLE student ( -> id INT(4), -> name VARCHAR(20), -> sex CHAR(1)); Query OK, 0 rows affected (0.09 sec)
DESC を使用して学生テーブルの構造を表示します。 SQL ステートメントと実行結果は次のとおりです:
mysql> DESC student; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | id | int(4) | YES | | NULL | | | name | varchar(20) | YES | | NULL | | | sex | char(1) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 3 rows in set (0.01 sec)
Use the ALTER TABLE state to add an INT type field age. SQL ステートメントと実行結果は次のとおりです:
mysql> ALTER TABLE student ADD age INT(4); Query OK, 0 rows affected (0.16 sec) Records: 0 Duplicates: 0 Warnings: 0
DESC を使用して Student テーブルの構造を表示し、年齢フィールドが正常に追加されたかどうかを確認します。 SQL ステートメントと実行結果は次のとおりです:
mysql> DESC student; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | id | int(4) | YES | | NULL | | | name | varchar(20) | YES | | NULL | | | sex | char(1) | YES | | NULL | | | age | int(4) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 4 rows in set (0.00 sec)
実行結果からわかるように、年齢フィールドが Student テーブルに追加され、フィールドはテーブルの最後の位置にあります。フィールドが正常に追加されました。
先頭にフィールドを追加する
MySQL はデフォルトでテーブルの最後の位置に新しいフィールドを追加します。 (最初の列の前) の場合、FIRST キーワードを使用できます。構文形式は次のとおりです。
ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] FIRST;
FIRST キーワードは通常、ステートメントの最後に配置されます。
例
ALTER TABLE ステートメントを使用して、テーブルの最初の列に INT 型フィールド stuId を追加します。SQL ステートメントと実行結果は次のとおりです。
mysql> ALTER TABLE student ADD stuId INT(4) FIRST; Query OK, 0 rows affected (0.14 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC student; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | stuId | int(4) | YES | | NULL | | | id | int(4) | YES | | NULL | | | name | varchar(20) | YES | | NULL | | | sex | char(1) | YES | | NULL | | | age | int(4) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 5 rows in set (0.00 sec)
実行結果から、stuId フィールドが Student テーブルに追加され、そのフィールドがテーブルの最初の位置にあることがわかります。フィールドは正常に追加されました。
中間位置にフィールドを追加する
MySQL では、テーブルの先頭と末尾にフィールドを追加できることに加えて、中間位置にフィールドを追加することもできます。 (指定されたフィールドの後に) フィールド。この時点で AFTER キーワードを使用する必要があります。構文形式は次のとおりです。
ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] AFTER <已经存在的字段名>;
AFTER の機能は、既存のフィールドの後に新しいフィールドを追加することです。
新しいフィールドは既存のフィールドの後にのみ追加でき、その前には追加できないことに注意してください。 ######例###
使用 ALTER TABLE 语句在 student 表中添加名为 stuno,数据类型为 INT 的字段,stuno 字段位于 name 字段的后面。SQL 语句和运行结果如下:
mysql> ALTER TABLE student ADD stuno INT(11) AFTER name; Query OK, 0 rows affected (0.13 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC student; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | stuId | int(4) | YES | | NULL | | | id | int(4) | YES | | NULL | | | name | varchar(20) | YES | | NULL | | | stuno | int(11) | YES | | NULL | | | sex | char(1) | YES | | NULL | | | age | int(4) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 6 rows in set (0.00 sec)
由运行结果可以看到,student 表中已经添加了 stuId 字段,且该字段在 name 字段后面的位置,添加字段成功。
MySQL 修改和删除数据表字段
修改字段名称
MySQL 中修改表字段名的语法规则如下:
ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;
其中:
旧字段名:指修改前的字段名;
新字段名:指修改后的字段名;
新数据类型:指修改后的数据类型,如果不需要修改字段的数据类型,可以将新数据类型设置成与原来一样,但数据类型不能为空。
例
使用 ALTER TABLE 修改表 tb_emp1 的结构,将 col1 字段名称改为 col3,同时将数据类型变为 CHAR(30),SQL 语句和运行结果如下所示。
mysql> ALTER TABLE tb_emp1 -> CHANGE col1 col3 CHAR(30); Query OK, 0 rows affected (0.76 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_emp1; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | col3 | char(30) | YES | | NULL | | | id | int(11) | YES | | NULL | | | name | varchar(30) | YES | | NULL | | | deptId | int(11) | YES | | NULL | | | salary | float | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 5 rows in set (0.01 sec)
CHANGE 也可以只修改数据类型,实现和 MODIFY 同样的效果,方法是将 SQL 语句中的“新字段名”和“旧字段名”设置为相同的名称,只改变“数据类型”。
提示:由于不同类型的数据在机器中的存储方式及长度并不相同,修改数据类型可能会影响数据表中已有的数据记录,因此,当数据表中已经有数据时,不要轻易修改数据类型。
修改字段数据类型
修改字段的数据类型就是把字段的数据类型转换成另一种数据类型。在 MySQL 中修改字段数据类型的语法规则如下:
ALTER TABLE <表名> MODIFY <字段名> <数据类型>
其中:
表名:指要修改数据类型的字段所在表的名称;
字段名:指需要修改的字段;
数据类型:指修改后字段的新数据类型。
例
使用 ALTER TABLE 修改表 tb_emp1 的结构,将 name 字段的数据类型由 VARCHAR(22) 修改成 VARCHAR(30),SQL 语句和运行结果如下所示。
mysql> ALTER TABLE tb_emp1 -> MODIFY name VARCHAR(30); Query OK, 0 rows affected (0.15 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_emp1; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | col1 | int(11) | YES | | NULL | | | id | int(11) | YES | | NULL | | | name | varchar(30) | YES | | NULL | | | col2 | int(11) | YES | | NULL | | | deptId | int(11) | YES | | NULL | | | salary | float | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 6 rows in set (0.00 sec)
语句执行后,发现表 tb_emp1 中 name 字段的数据类型已经修改成 VARCHAR(30),修改成功。
删除字段
删除字段是将数据表中的某个字段从表中移除,语法格式如下:
ALTER TABLE <表名> DROP <字段名>;
其中,“字段名”指需要从表中删除的字段的名称。
例
使用 ALTER TABLE 修改表 tb_emp1 的结构,删除 col2 字段,SQL 语句和运行结果如下所示。
mysql> ALTER TABLE tb_emp1 -> DROP col2; Query OK, 0 rows affected (0.53 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_emp1; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | col1 | int(11) | YES | | NULL | | | id | int(11) | YES | | NULL | | | name | varchar(30) | YES | | NULL | | | deptId | int(11) | YES | | NULL | | | salary | float | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 5 rows in set (0.00 sec)
推荐教程:mysql视频教程
以上がmysqlデータベーステーブルを変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

在mysql中,可利用“ALTER TABLE 表名 DROP INDEX unique key名”语句来删除unique key;ALTER TABLE语句用于对数据进行添加、删除或修改操作,DROP INDEX语句用于表示删除约束操作。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ホットトピック



