mysql数据表交叉引用_数据定义语句
數據定義語句
MySQL 8.0支持原子數據定義語言(DDL)語句。此功能稱為原子DDL。原子DDL語句將數據字典更新,存儲引擎操作和與DDL操作相關聯的二進制日志寫入操作組合到單個原子事務中。即使事務在操作期間停止,事務也可以提交,并在數據字典,存儲引擎和二進制日志中保留適用的更改,或者回滾。通過在MySQL
ALTER {DATABASE|SCHEMA} [db_name] alter_specification ...alter_specification: [DEFAULT] CHARACTERSET [=] charset_name | [DEFAULT] COLLATE [=] collatio
ALTER [DEFINER= user] EVENT event_name [ONSCHEDULE schedule] [ONCOMPLETION [NOT] PRESERVE] [RENAMETO new_event_name] [ENABLE|DISABLE|DISABLEONSLAVE] [
ALTERFUNCTION func_name [characteristic ...]characteristic: COMMENT 'string' |LANGUAGESQL| { CONTAINSSQL|NOSQL|READSSQLDATA|MODIFIESSQLDATA } |SQLSECU
適用于MySQL服務器實例的操作
ALTERLOGFILEGROUP logfile_group ADDUNDOFILE 'file_name' [INITIAL_SIZE [=] size] [WAIT] ENGINE [=] engine_name該語句將UNDO名為“file_name'的文件添加到現有的日志文件組中logfi
ALTERPROCEDURE proc_name [characteristic ...]characteristic: COMMENT 'string' |LANGUAGESQL| { CONTAINSSQL|NOSQL|READSSQLDATA|MODIFIESSQLDATA } |SQLSEC
ALTERSERVER server_name OPTIONS (option [, option] ...)更改的服務器信息server_name,調整CREATE SERVER語句中允許的任何選項。mysql.servers表中的相應字段會相應更新。此語句需要SUPER特權。例如,要更新USER
ALTERTABLE tbl_name [alter_specification [, alter_specification] ...] [partition_options]alter_specification: table_options |ADD [COLUMN] col_name col
與分區相關的子句ALTER TABLE可與分區表一起使用,以進行重新分區,添加,刪除,丟棄,導入,合并和拆分分區,以及執行分區維護。只需在分區表上使用帶有partition_options子句的子句,即可ALTER TABLE根據定義的分區方案對表進行重新分區partition_options。這一
ALTER TABLE允許生成的列操作是ADD,MODIFY,和CHANGE??梢蕴砑由傻牧?。CREATETABLE t1 (c1 INT);ALTERTABLE t1 ADDCOLUMN c2 INT GENERATEDALWAYSAS (c1 + 1) STORED;可以修改生成的列的數據類型
首先t1創建一個表,如下所示:CREATETABLE t1 (a INTEGER, b CHAR(10));要將表從重命名t1為t2:ALTERTABLE t1 RENAME t2;若要更改列a從INTEGER給TINYINT NOT NULL(名字一樣),并更改列b從CHAR(10)到CHAR(2
ALTER [UNDO] TABLESPACE tablespace_name NDBonly: {ADD|DROP} DATAFILE 'file_name' [INITIAL_SIZE [=] size] [WAIT] InnoDB andNDB: [RENAMETO tablespace_na
ALTER [ALGORITHM= {UNDEFINED|MERGE|TEMPTABLE}] [DEFINER= user] [SQLSECURITY { DEFINER|INVOKER }] VIEW view_name [(column_list)] AS select_statement [W
CREATE {DATABASE|SCHEMA} [IFNOTEXISTS] db_name [create_specification] ...create_specification: [DEFAULT] CHARACTERSET [=] charset_name | [DEFAULT] COL
CREATE [DEFINER= user] EVENT [IFNOTEXISTS] event_name ONSCHEDULE schedule [ONCOMPLETION [NOT] PRESERVE] [ENABLE|DISABLE|DISABLEONSLAVE] [COMMENT 'stri
3.1.15 CREATE INDEX語句CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [index_type] ON tbl_name (key_part,...) [index_option] [algorithm_option | lock
CREATELOGFILEGROUP logfile_group ADDUNDOFILE 'undo_file' [INITIAL_SIZE [=] initial_size] [UNDO_BUFFER_SIZE [=] undo_buffer_size] [REDO_BUFFER_SIZE [=]
CREATE [DEFINER= user] PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_bodyCREATE [DEFINER= user] FUNCTION sp_name ([func_para
CREATESERVER server_name FOREIGNDATAWRAPPER wrapper_name OPTIONS (option [, option] ...)option: { HOSTcharacter-literal |DATABASEcharacter-literal |US
CREATEORREPLACESPATIALREFERENCESYSTEM srid srs_attribute ...CREATESPATIALREFERENCESYSTEM [IFNOTEXISTS] srid srs_attribute ...srs_attribute: { NAME 'sr
CREATE [TEMPORARY] TABLE [IFNOTEXISTS] tbl_name (create_definition,...) [table_options] [partition_options]CREATE [TEMPORARY] TABLE [IFNOTEXISTS] tbl_
CREATE TABLE語句保留CREATE TABLE創建表時,原始語句(包括所有規范和表選項)由MySQL存儲。該信息將保留,以便在您使用ALTER TABLE語句更改存儲引擎,排序規則或其他設置時,保留指定的原始表選項。即使兩個引擎支持的行格式不同,這也使您可以在InnoDB和MyISAM表類
用于CREATE TABLE ... LIKE根據另一個表的定義創建一個空表,包括在原始表中定義的任何列屬性和索引:CREATETABLE new_tbl LIKE orig_tbl;使用與原始表相同的表存儲格式版本創建副本。該SELECT權限需要對原始表。LIKE僅適用于基表,不適用于視圖。重要您
您可以通過在SELECT語句末尾添加一條語句來從另一個表創建一個表CREATE TABLE:CREATETABLE new_tbl [AS] SELECT*FROM orig_tbl;MySQL為中的所有元素創建新列SELECT。例如:mysql>CREATETABLE test (a INT
MySQL支持外鍵(允許跨表交叉引用相關數據)和外鍵約束,這有助于使相關數據保持一致。外鍵關系涉及一個包含初始列值的父表,以及一個具有引用父列值的列值的子表。在子表上定義了外鍵約束。在CREATE TABLEor ALTER TABLE語句中定義外鍵約束的基本語法包括以下內容:[CONSTRAINT
在MySQL 8.0.16之前,CREATE TABLE僅允許以下有限的表CHECK約束語法版本被解析和忽略:CHECK (expr)從MySQL 8.0.16開始,CREATE TABLE允許CHECK對所有存儲引擎使用表和列約束的核心功能。對于表約束和列約束,都CREATE TABLE允許使用以
在某些情況下,MySQL會默默地從CREATE TABLEor ALTER TABLE語句中給出的列規范中更改列規范。這些可能是對數據類型,與數據類型關聯的屬性或索引規范的更改。所有更改均受內部65,535字節的行大小限制,這可能會導致某些嘗試更改數據類型的嘗試失敗。請參見“數據表的限制”。列,其一
CREATE TABLE支持生成列的規范。根據列定義中包含的表達式計算生成的列的值。NDB存儲引擎還支持生成的列。以下簡單示例顯示了一個表,該表存儲sidea和sideb列中直角三角形的邊的長度,并計算下斜邊的長度sidec(其他邊的平方和的平方根):CREATETABLE triangle ( s
InnoDB支持虛擬生成的列上的二級索引。不支持其他索引類型。在虛擬列上定義的二級索引有時稱為“虛擬索引”??梢栽谝粋€或多個虛擬列上或在虛擬列和常規列或存儲的生成列的組合上創建二級索引。包含虛擬列的二級索引可以定義為UNIQUE。在虛擬生成的列上創建二級索引時,生成的列值將在索引記錄中實現。如果索引
在MySQL NDB Cluster中,CREATE TABLEor ALTER TABLE語句中的表注釋還可用于指定一個NDB_TABLE選項,該選項由一個或多個名稱-值對組成,并在字符串后用逗號分隔(如果需要)NDB_TABLE=。名稱和值語法的完整語法如下所示:COMMENT="NDB_TAB
CREATE [UNDO] TABLESPACE tablespace_name InnoDB andNDB: [ADDDATAFILE 'file_name'] InnoDB only: [FILE_BLOCK_SIZE=value] [ENCRYPTION [=] {'Y'|'N'}] NDBo
CREATE [DEFINER= user] TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOREACHROW [trigger_order] trigger_bodytrigger_time: { BEFORE|AFTER
CREATE [ORREPLACE] [ALGORITHM= {UNDEFINED|MERGE|TEMPTABLE}] [DEFINER= user] [SQLSECURITY { DEFINER|INVOKER }] VIEW view_name [(column_list)] AS select
DROP {DATABASE|SCHEMA} [IFEXISTS] db_nameDROP DATABASE刪除數據庫中的所有表并刪除數據庫。此聲明要非常小心!要使用DROP DATABASE,您需要DROP數據庫特權。DROP SCHEMA是的同義詞DROP DATABASE。重要刪除數據庫時,不
DROPEVENT [IFEXISTS] event_name該語句刪除名為的事件event_name。該事件立即停止活動,并已從服務器中完全刪除。如果事件不存在,則會發生event_name錯誤ERROR 1517(HY000):未知事件''。您可以覆蓋它,并使該語句針對不存在的事件生成警告,而不
該DROP FUNCTION語句用于刪除存儲的函數和用戶定義的函數(UDF):有關刪除存儲函數的信息,請參見“ DROP PROCEDURE和DROP FUNCTION語句”。有關刪除用戶定義函數的信息,請參見“ DROP FUNCTION語句”。DROPFUNCTION function_name
DROPINDEX index_name ON tbl_name [algorithm_option | lock_option] ...algorithm_option: ALGORITHM [=] {DEFAULT|INPLACE|COPY}lock_option: LOCK [=] {DEFA
DROPLOGFILEGROUP logfile_group ENGINE [=] engine_name該語句刪除名為的日志文件組logfile_group。日志文件組必須已經存在,否則將導致錯誤。(有關創建日志文件組的信息,請參見“ CREATE LOGFILE GROUP語句”。)重要在刪除日
DROP {PROCEDURE|FUNCTION} [IFEXISTS] sp_name該語句用于刪除存儲過程或函數。即,將指定的例程從服務器中刪除。您必須具有ALTER ROUTINE例程的特權。(如果automatic_sp_privileges啟用了系統變量,則該特權EXECUTE將在創建例程
DROPSERVER [ IFEXISTS ] server_name刪除名為的服務器的服務器定義server_name。mysql.servers表中的相應行將被刪除。此語句需要SUPER特權。為表刪除服務器不會影響FEDERATED在創建表時使用此連接信息的任何表。請參見“ CREATE SER
DROPSPATIALREFERENCESYSTEM [IFEXISTS] sridsrid: 32-bit unsigned integer該語句從數據字典中刪除空間參考系統(SRS)定義。它需要SUPER特權。例:DROPSPATIALREFERENCESYSTEM 4120;如果不存在帶有SR
DROP [TEMPORARY] TABLE [IFEXISTS] tbl_name [, tbl_name] ... [RESTRICT|CASCADE]DROP TABLE刪除一個或多個表。您必須具有DROP每個表的特權。請謹慎使用此聲明!對于每個表,它將刪除表定義和所有表數據。如果表已分區,則
DROP [UNDO] TABLESPACE tablespace_name [ENGINE [=] engine_name]該語句刪除先前使用創建的表空間CREATE TABLESPACE。NDB和InnoDB存儲引擎支持它。UNDO必須指定在MySQL 8.0.14中引入的關鍵字以刪除撤消表空間
DROPTRIGGER [IFEXISTS] [schema_name.]trigger_name該語句刪除觸發器。模式(數據庫)名稱是可選的。如果省略該模式,則從默認模式刪除該觸發器。DROP TRIGGER需要TRIGGER與觸發器關聯的表的特權。使用IF EXISTS以防止發生錯誤,從一個不存
DROPVIEW [IFEXISTS] view_name [, view_name] ... [RESTRICT|CASCADE]DROP VIEW刪除一個或多個視圖。您必須具有DROP每個視圖的特權。如果在參數列表中命名的視圖不存在,則該語句將失敗,并顯示一條錯誤消息,按名稱指示無法刪除哪些不存
RENAMETABLE tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2] ...RENAME TABLE重命名一個或多個表。您必須具有ALTER與DROP原始表的權限,以及CREATE與INSERT新表的權限。例如,重命名一個指定的表ol
TRUNCATE [TABLE] tbl_nameTRUNCATE TABLE完全清空一張桌子。它需要DROP特權。從邏輯上講,TRUNCATE TABLE它類似于DELETE刪除所有行的語句或DROP TABLE and CREATE TABLE語句的序列。為了獲得高性能,請TRUNCATE TA
總結
以上是生活随笔為你收集整理的mysql数据表交叉引用_数据定义语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot数据源不正确_Spr
- 下一篇: mysql 不同分区 同时insert_