国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Home Database Mysql Tutorial MySQL入門教程(五)之表的創(chuàng)建、修改和刪除_MySQL

MySQL入門教程(五)之表的創(chuàng)建、修改和刪除_MySQL

May 27, 2016 am 10:44 AM

MySQL 為關(guān)系型數(shù)據(jù)庫(Relational Database Management System), 這種所謂的"關(guān)系型"可以理解為"表格"的概念, 一個關(guān)系型數(shù)據(jù)庫由一個或數(shù)個表格組成。

表是DB存儲數(shù)據(jù)的基本單位,一個表包含若干個字段或記錄。表的操作包括創(chuàng)建、修改和刪除。

  1、創(chuàng)建表

  創(chuàng)建表即在已存在的數(shù)據(jù)庫中創(chuàng)立新表。在使用USE語句選擇具體數(shù)據(jù)庫后,可以使用它SQL語句創(chuàng)建表

  其中,屬性名指表中字段的名稱,數(shù)據(jù)類型即對應(yīng)字段的數(shù)據(jù)類型,完整性約束條件指對應(yīng)字段的某些特殊約束條件。

  MySQL中基本的完整性約束條件有

  1.1 設(shè)置表的主鍵

  主鍵是表的一個特殊字段,該字段能唯一地表示該表中的每條信息,即主鍵如同表中記錄的身份證。主鍵的主要目的在于幫助MySQL以最快的速度查找表中的某一條信息。主鍵必須按滿足唯一性,表中任意提兩條記錄的主鍵字段的值不可相同,主鍵的值為非空值。主鍵可以是單一的字段也可以是多個字段的組合。

  對于單字段主鍵只要在創(chuàng)建表時使用下屬語句即可

  屬性名 數(shù)據(jù)類型 PRIMARY KEY

  對于多字段主鍵,要在屬性定義完后統(tǒng)一設(shè)置主鍵,如

  即用stu_id和course_id兩個字段組合來唯一確定一條記錄。

  1.2 設(shè)置表的外鍵

  如果字段a是表A的屬性,且依賴于表B的主鍵,那么,稱表B為父表,表A為子表,a為表A的外鍵。通過字段a將父表B和子表A建立了關(guān)聯(lián)關(guān)系,即外鍵的作用在于建立該表與其父表的關(guān)聯(lián)關(guān)系。當父表中刪除某條信息時,子表中與之對應(yīng)的信息也必須有相應(yīng)的改變,來保證信息的完整性。

  在創(chuàng)建表時的設(shè)置外鍵的基本語法為

  其中,外鍵別名指外鍵的代號,屬性一列表指子表中設(shè)置的外鍵,屬性二列表指父表的主鍵,而表名指父表的名稱。如


 注意,子表的外鍵關(guān)聯(lián)的必須是父表的主鍵,且數(shù)據(jù)類型必須一致。

  1.3 設(shè)置表的非空約束

  非空性指字段的值不能為空值NULL?;菊Z法為

  屬性名 數(shù)據(jù)類型 NOT NULL

  當在有非空約束的字段上插入的記錄對應(yīng)該字段的值為空時,系統(tǒng)將保存并不接受此次插入。

  1.4 設(shè)置表的唯一性約束

  唯一性是指所有記錄中該字段的值不可重復(fù)出現(xiàn)?;菊Z法為

  屬性名 數(shù)據(jù)類型 UNIQUE

  1.5 設(shè)置表的屬性值自動增加

  AUTO_INCREMENT是MySQL數(shù)據(jù)庫中的一個特殊約束條件,主要用于為表中插入的新紀錄自動生成唯一的ID。基本語法為

  屬性名 數(shù)據(jù)類型 AUTO_INCREMENT

  一個表只能有一個字段使用該約束,且該字段必須為主鍵的一部分,該字段可以是任何整數(shù)類型。默認情況下,該字段的值從1開始自增。如果第一條記錄設(shè)置了該字段的初值,則后續(xù)新增加的記錄就從初值開始自增。

  1.6 設(shè)置表的屬性的默認值

  對于設(shè)定了默認值的字段,在新插入記錄時如果沒有為這個字段賦值,則系統(tǒng)自動為其賦予此默認值。基本語法為

  屬性名 數(shù)據(jù)類型 DEFAULT 默認值

  2、查看表結(jié)構(gòu)

  查看表結(jié)構(gòu)指查看DB中已存在的表的定義,包括DESCRIBE語句和SHOW CREATE TABLE語句。

  2.1 DESCRIBE語句

  可查看表的基本定義,包括字段名、字段數(shù)據(jù)類型、是否為主外鍵、默認值和額外信息。

  基本語法為

  DESCRIBE 表名;

  2.2 SHOW CREATE TABLE語句

  可查看表的詳細定義,包括字段名、字段數(shù)據(jù)類型、完整性約束條件等定義時的信息,以及默認的存儲引擎和字符編碼。同樣可用\G結(jié)尾代替;使得顯示結(jié)果更美觀。

  3、修改表

  修改表是指修改數(shù)據(jù)庫中已存在的表的定義。

  通過Alter Table語句來修改表,包括修改表名、修改字段數(shù)據(jù)類型、修改字段名、增加字段、刪除字段、修改字段的排列位置、更改默認存儲引擎和刪除表的外鍵約束等。

  3.1 修改表名

  語法為

  ALTER TABLE 舊表名 RENAME [TO] 新表名;

  其中To是可選參數(shù),其是否在語句中出現(xiàn)不會影響語句的執(zhí)行。

  3.2 修改字段名

  基本語法為

  ALTER TABLE 表名 Change 舊屬性名 新屬性名 新數(shù)據(jù)類型;

  如果只修改字段名不修改字段數(shù)據(jù)類型,則保持新數(shù)據(jù)類型與原來一致即可。

  3.3 修改字段的數(shù)據(jù)類型

  基本語法為

  ALTER TABLE 表名 MODIFY 屬性名 新數(shù)據(jù)類型;

  3.4 增加字段

  基本語法為

  ALTER TABLE 表名 ADD 屬性名1 數(shù)據(jù)類型 [完整性約束條件] [FIRST | AFTER 屬性名2];

  其中FIRST為可選參數(shù),用于將新增字段設(shè)置為表的第一個字段,AFTER屬性名2也為可選參數(shù),用戶將新增字段放到屬性名2后面,如果這兩個可選參數(shù)都不選,新增字段將默認放到表的最后一個字段。

  實際上,對于一個數(shù)據(jù)表而言,其中字段的排列順序?qū)Ρ聿粫惺裁从绊?,只是對于?chuàng)建的人來說,將有某種直接或間接聯(lián)系的字段放在一起,便于理解這個表的結(jié)構(gòu)。

  3.5 增加字段

  基本語法為

  ALTER TABLE 表名 DROP 屬性名;

  3.6 修改字段的排列位置

  基本語法為

  ALTER TABLE 表名 MODIFY 屬性名1 數(shù)據(jù)類型 FIRST | AFTER 屬性名2;

  3.7 更改表的存儲引擎

  基本語法為

  ALTER TABLE 表名 ENGINE=新存儲引擎名;

  如果一個表中已經(jīng)存在了很多數(shù)據(jù),最好不要輕易更改其存儲引擎。

  3.8 刪除表的外鍵約束

  即斷開表與其父表之間的關(guān)聯(lián)關(guān)系基本語法為

  ALTER TABLE 表名 DROP FOREIGN KEY 外鍵別名;

  4、刪除表

  刪除表會刪除表中的所有數(shù)據(jù),由于創(chuàng)建表時可能存在外鍵約束,一些表成為了與之關(guān)聯(lián)的表的父表,要刪除這些父表,情況比較復(fù)雜。

  4.1 刪除沒有被關(guān)聯(lián)的普通表

  基本語法為

  DROP TABLE 表名;

  4.2 刪除被關(guān)聯(lián)的父表

  此時由于有外鍵依賴于該表,用4.1的刪除語法會報錯。

  刪除此類父表一般有兩種方法:直接先將與之關(guān)聯(lián)的子表刪除再刪父表,或者先刪除子表的外鍵約束再刪父表,一般我們采取第二種方法。

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What is GTID (Global Transaction Identifier) and what are its advantages? What is GTID (Global Transaction Identifier) and what are its advantages? Jun 19, 2025 am 01:03 AM

GTID (Global Transaction Identifier) ??solves the complexity of replication and failover in MySQL databases by assigning a unique identity to each transaction. 1. It simplifies replication management, automatically handles log files and locations, allowing slave servers to request transactions based on the last executed GTID. 2. Ensure consistency across servers, ensure that each transaction is applied only once on each server, and avoid data inconsistency. 3. Improve troubleshooting efficiency. GTID includes server UUID and serial number, which is convenient for tracking transaction flow and accurately locate problems. These three core advantages make MySQL replication more robust and easy to manage, significantly improving system reliability and data integrity.

What is a typical process for MySQL master failover? What is a typical process for MySQL master failover? Jun 19, 2025 am 01:06 AM

MySQL main library failover mainly includes four steps. 1. Fault detection: Regularly check the main library process, connection status and simple query to determine whether it is downtime, set up a retry mechanism to avoid misjudgment, and can use tools such as MHA, Orchestrator or Keepalived to assist in detection; 2. Select the new main library: select the most suitable slave library to replace it according to the data synchronization progress (Seconds_Behind_Master), binlog data integrity, network delay and load conditions, and perform data compensation or manual intervention if necessary; 3. Switch topology: Point other slave libraries to the new master library, execute RESETMASTER or enable GTID, update the VIP, DNS or proxy configuration to

How to connect to a MySQL database using the command line? How to connect to a MySQL database using the command line? Jun 19, 2025 am 01:05 AM

The steps to connect to the MySQL database are as follows: 1. Use the basic command format mysql-u username-p-h host address to connect, enter the username and password to log in; 2. If you need to directly enter the specified database, you can add the database name after the command, such as mysql-uroot-pmyproject; 3. If the port is not the default 3306, you need to add the -P parameter to specify the port number, such as mysql-uroot-p-h192.168.1.100-P3307; In addition, if you encounter a password error, you can re-enter it. If the connection fails, check the network, firewall or permission settings. If the client is missing, you can install mysql-client on Linux through the package manager. Master these commands

Why is InnoDB the recommended storage engine now? Why is InnoDB the recommended storage engine now? Jun 17, 2025 am 09:18 AM

InnoDB is MySQL's default storage engine because it outperforms other engines such as MyISAM in terms of reliability, concurrency performance and crash recovery. 1. It supports transaction processing, follows ACID principles, ensures data integrity, and is suitable for key data scenarios such as financial records or user accounts; 2. It adopts row-level locks instead of table-level locks to improve performance and throughput in high concurrent write environments; 3. It has a crash recovery mechanism and automatic repair function, and supports foreign key constraints to ensure data consistency and reference integrity, and prevent isolated records and data inconsistencies.

Why do indexes improve MySQL query speed? Why do indexes improve MySQL query speed? Jun 19, 2025 am 01:05 AM

IndexesinMySQLimprovequeryspeedbyenablingfasterdataretrieval.1.Theyreducedatascanned,allowingMySQLtoquicklylocaterelevantrowsinWHEREorORDERBYclauses,especiallyimportantforlargeorfrequentlyqueriedtables.2.Theyspeedupjoinsandsorting,makingJOINoperation

What are the transaction isolation levels in MySQL, and which is the default? What are the transaction isolation levels in MySQL, and which is the default? Jun 23, 2025 pm 03:05 PM

MySQL's default transaction isolation level is RepeatableRead, which prevents dirty reads and non-repeatable reads through MVCC and gap locks, and avoids phantom reading in most cases; other major levels include read uncommitted (ReadUncommitted), allowing dirty reads but the fastest performance, 1. Read Committed (ReadCommitted) ensures that the submitted data is read but may encounter non-repeatable reads and phantom readings, 2. RepeatableRead default level ensures that multiple reads within the transaction are consistent, 3. Serialization (Serializable) the highest level, prevents other transactions from modifying data through locks, ensuring data integrity but sacrificing performance;

What are the ACID properties of a MySQL transaction? What are the ACID properties of a MySQL transaction? Jun 20, 2025 am 01:06 AM

MySQL transactions follow ACID characteristics to ensure the reliability and consistency of database transactions. First, atomicity ensures that transactions are executed as an indivisible whole, either all succeed or all fail to roll back. For example, withdrawals and deposits must be completed or not occur at the same time in the transfer operation; second, consistency ensures that transactions transition the database from one valid state to another, and maintains the correct data logic through mechanisms such as constraints and triggers; third, isolation controls the visibility of multiple transactions when concurrent execution, prevents dirty reading, non-repeatable reading and fantasy reading. MySQL supports ReadUncommitted and ReadCommi.

How to add the MySQL bin directory to the system PATH How to add the MySQL bin directory to the system PATH Jul 01, 2025 am 01:39 AM

To add MySQL's bin directory to the system PATH, it needs to be configured according to the different operating systems. 1. Windows system: Find the bin folder in the MySQL installation directory (the default path is usually C:\ProgramFiles\MySQL\MySQLServerX.X\bin), right-click "This Computer" → "Properties" → "Advanced System Settings" → "Environment Variables", select Path in "System Variables" and edit it, add the MySQLbin path, save it and restart the command prompt and enter mysql--version verification; 2.macOS and Linux systems: Bash users edit ~/.bashrc or ~/.bash_

See all articles