为了创建满足用户需求的各种数据库,这里只是做一个砖。 2。查看修改后的数据表结构 复制代码代码如下所示: MySQL > desc是表结构的名称;#查看数据表 MySQL >显示创建表 G #数据表名视图构成报表,数据表和 G;同样的意思,但 G是一个垂直的显示,所以看得更清楚。 MySQL >显示表的地位一样 G #视图状态数据表名称表 MySQL >显示列的数据表名;#查看数据表的结构,如照片一样,但这一说法随后像场的使用可以只显示指定的字段
三.改变变基的结构 我们首先创建了一个表 MySQL >创建表的VIP(ID为null,用户名varchar(30)); 修改表结构中的数据类型 复制代码代码如下所示: MySQL >修改表VIP修改ID SmallInt默认1;#改变数据记录1。 MySQL > # ALTER TABLE VIP修改ID SmallInt auto_increment;#我们执行这句话会提示错误,因为MySQL自动增长的要求为主键列。 MySQL >修改表VIP添加主(ID);#套贵宾钥匙ID的值,在上述的实施是没有问题的执行此语句。 MySQL >修改表VIP修改用户名char(30)不为空;VIP用户名字符#变化(30); MySQL >修改表VIP修改用户名mediumtext第一;在用户名VIP #变化,它位于前面的领域,有一个领域后,被放置在一个领域
现有表的新字段 MySQL >修改表的VIP加性别(是的,F)的默认'm'not无效后的身份;性别#枚举类型的新领域,放在背后的ID。
重命名现有字段 MySQL >修改表VIP改变性别usersex字段默认0不空后的用户名;改变名称字段更改的类型和位置。 注:只修改修改,变化非常相似,但修改不能改名,只需更改结构,但更改可以改名,也可以更改类型。
删除字段 MySQL >修改表VIP滴usersex;#删除usersex领域,预警领域,所有数据将丢失。 数据库改名 MySQL >修改表VIP重命名为vip_user;数据库改名。 更改数据表引擎 MySQL >修改表VIP引擎=表;
5。数据约束的简明分析 因此,外键的定义必须满足以下三种情况: 1。两表必须InnoDB表类型 2。指定为外键的列必须被索引。 三.两个表中的相关外键类型必须一致。 让我们先看看示例,然后在示例中学习。 MySQL >创建父表(ID int空主键(ID))发动机= InnoDB;#创建一个主表 MySQL >创建表的孩子(ID int,int parent_id, 外键(parent_id) 引用父(ID)上的删除限制更新级联 InnoDB引擎=;#)创建一个从表的外键,以及关键词parent_id,建立之间的关联关系。 MySQL >插入母值(1)、(2)、(3);#在主表插入数据 MySQL >插入孩子的价值观(1,1),(1,2),(1,3);#在表中插入数据,对应不同的parent_id儿童ID = 1; MySQL > #插入孩子的价值观(1,1),(1,2),(1,3),(1,4);#看看会发生什么错了吗是什么原因我们再考虑考虑吧。 说明:因为当我们创建语句时,我们同意数据是通过外键连接的,而父ID中没有id值的主键,所以子密钥不会被更新。 此时数据库中的值为: 亲子 我parent_id 一百一十一 二百一十二 三百一十三 我们继续运作,以反映外键关联表的作用。 MySQL >更新父集ID = 4,ID = 1 #;家长看孩子的价值变化的反应 从父级选择*; 从孩子中选择*; 此时数据库中的值为: 亲子 我parent_id 二百一十四 三百一十二 四百一十三 通过上面的示例,您可以清楚地看到用户只更改父值,关联的子值将自动更改。 Mysql> insert into child values (2,4), (3,4), (4,4); # sub table and then add some other value. MySQL > #删除从父id是4 #;我们执行此语句,看看有什么错误吗让我们分析一下提示。 我们回顾一下创建外键的优秀案例和关键语句: 外键(parent_id)#这句话的意思是外汇指定关联表parent_id关键; 引用父(ID)在限制删除级联更新的#这句话是一句约束,外键引用可以抑制数据库对应的数据表parend_id和家长身份的子密钥,并约束删除,更新操作,MySQL有以下操作: (1)限制和不动作表明,如果子表中有匹配记录,则不允许对父表的相应候选键进行更新/删除操作。你现在明白了吗为什么我们从父母那里执行id = 4删除;有错误,因为在子表的值(孩子)。 (2)当集零记录的更新/删除父表的记录,匹配记录在子表的列设置为空,但需要注意的是,该数据库不能外部键列不为空的重要 (3)当级联记录父表上的更新/删除记录时,更新/删除下拉表的匹配记录是同步的。 您可以根据您的需要设置不同的操作,例如,当我们删除父表时删除子表时,我们需要设置设置。 在更新级联上删除级联的父(id)引用,我们需要在实验之前知道。 1、已定义的外键不能再更改。我们必须删除外键并重新创建它。 MySQL >显示创建表的孩子/ G #约束(约束)的名字 说明:约束是指定约束的默认名称,如果未指定,系统将自动命名它,例如,我们可以: 约束fk_child_key 外键(parent_id) 引用父(ID)上的删除限制更新级联; In this way, we specify the overall name of the constraint as fk_child_key, which can be operated on later. MySQL >修改表的外键fk_child_key孩子滴;#删除约束 MySQL >修改表的孩子添加外键('parent_id) 删除级联时引用父(id) 更新级联; MySQL >显示创建表的孩子/ G #此约束已被更改,用户可以查看更改。
MySQL >删除从父id是4 #;我们重新执行上面的语句,它不是一个错误吗 从父级选择*; MySQL >选择*从孩子#;我们可以看到现在parent_id删除所有4。Hehe,可方便地在未来。 此时数据库中的值为: 亲子 我parent_id 二百一十二 三百一十三 6。数据约束的附加描述 如果定义了数据约束,那么插入或改变数据的速度会很慢,尤其是在数据结构改变和数据插入效率低的情况下。 当客户执行负载数据(稍后将引入加载数据)时,修改表建议使用以下命令,暂时关闭数据约束,然后在完成后打开它,以便速度至少增加20倍以上。 MySQL >设置foreign_key_checks = 0;#关闭数据约束 MySQL > LOAD DATA INFILE '表'文件绝对地址表的名称;#加载数据从文本文件 MySQL >设置foreign_key_checks = 1;#开放数据约束