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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值