MySQL扩展表结构

目录

ALTER TABLE 表名

删除

方法一:

方法二:

小结:

删除类型:

drop table tabel name

truncate table tabel name

delete from tabel name

应用场景

创建临时表

创建临时表的格式

示例:

MYSQL中6种常见的约束

授权用户权限 all privileges 代表了哪些权限


ALTER TABLE 表名

ADD address varchar(50) default '地址不详'; #default '地址不详':表示此字段设置默认值为地址不详,可与NOT NULL配合使用

ALTER TABLE yyy ADD address varchar(50) NOT NULL default '地址不详';

修改字段(列)名,添加唯一键 ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 [unique key];

ALTER TABLE yyy CHANGE name user_name varchar(10) unique key; #CHANGE可修改字段名、数据类型、约束等所有项。desc

删除

清空表,删除表内的所有数据

方法一:

delete from yyy3;

#DELETE清空表后,返回的结果内有删除的记录条目:

DELETE 工作时是一行一行的删除记录数据的;如果表中有自增长字段,使用DELETE FROM 删除所有记录后,再次新添加的记录会从原来最大的记录ID后面继续自增写入记录。

方法二:

truncate table test01:

#TRUNCATE消空表后,没有返回被刑除的条目:

TRUNCATE 工作时是将表结构按原样重新建立因此在速度上TRUNCATE会比DELETE清空表快;使用TRUNCATE TABLE 清空表内数据后,ID会从1开始重新记录

#删除 速度 drop> truncate > delete

安全性 delete 最好

小结:

删除类型:

drop table tabel name

1、删除速度快

2、表和内容和结构删除

3、不可以带where

4、不可回滚(无法恢复)

5、属于 DDL

truncate table tabel name

1、 删除速度快

2、表的内容删除

3、不可以带where

4、不可回滚(无法恢复 )

5、属于 DDL

delete from tabel name

1、除速度慢,需要逐行删除

2、表结构在,表内容要看where执行的情况

3、可以带where

4、可以回滚(可恢复)

5、属于DML

应用场景

不再需要一张表的时候用drop

想删除部分数据行时候 用delete并且加上 where语句

保留表而删除所有数据的时候用truncate

创建临时表

临时表创建成功之后,使用SHOWTABLES命令是看不到创建的临时表的,临时表会在连接退出后被销毁。

如果在退出连接之前,也可以可执行增删改查等操作,比如使用DROP TABLE语句手动直接删除临时表。

Ps:无法创建外键

创建临时表的格式

CREATE TEMPORARY TABLE 表名 ( 字段1 数据类型, 字段2 数据类型, ... [PRIMARY KEY (主键名)] );

其中,表名 是你想要给临时表指定的名称,字段1、字段2 等是表的列名和对应的数据类型,你可以根据需要添加多个字段。如果需要指定主键,则使用 PRIMARY KEY (主键名)来定义主键约束。

示例:

create temporary table xxx ( id int(4) zerofill primary key auto_ increment, name varchar(10) not null, cardid int(18) not null unique key, hobby varchar(50)); insert into xxx values (1,'zhangsan',123456,'running') ; select * from test03; show tables; quit select * from test03;

最后退出即消失

重进一次再打开(已自动销毁)

 

MYSQL中6种常见的约束

  1. 主键约束(primary key):主键是一个用于唯一标识表中每行数据的列。主键约束确保主键列的值在整个表中是唯一的,不允许有重复值。主键约束还可以提高查询效率,因为数据库会根据主键建立索引。

  2. 外键约束(foreign key):外键是与其他表关联的列,它建立了表之间的关联关系。外键约束确保外键列的值必须存在于关联表的主键列中,以维护表之间的引用完整性。通过外键约束,我们可以定义表之间的关系,如一对多、多对多等。

  3. 非空约束(not null):非空约束要求列中的值不能为 NULL。也就是说,在这些列中,必须始终有一个有效的值。非空约束可以防止插入或更新操作中出现缺失值,确保数据的完整性。

  4. 唯一性约束(unique [key/index]):唯一性约束要求列中的值必须保持唯一,不允许有重复值。唯一性约束可以应用于一个或多个列,用于保证指定列或列的组合中的值的唯一性。这个约束与主键约束类似,但允许出现 NULL 值。

  5. 默认值约束(default):默认值约束定义了当插入新行时,如果没有显式指定某列的值,那么该列会被自动赋予一个默认值。默认值约束可以为列提供一个默认的初始值,方便在插入数据时不需要为每个列都指定值。

  6. 自增约束(auto increment):自增约束用于将一个整数列设置为自增长的。也就是说,每次插入新行时,该列的值会自动递增。通常用于给主键列分配唯一的、递增的标识符,简化了手动指定主键值的过程。

外键的定义:如果同一个属性字段x在表一中是主键,而在表二中不是主键. 则字段x称为表二的外键。

创建外键约束作用(误删,修改),保证数据的完整性和一致性。

主键表和外键表的理解

(1) 以公共关键字作主键的表为主键表(父表、主表)

(2) 以公共关键字作外键的表为外键表(从表、外表)

注意:与外键关联的主表的字段必须设置为主键。要求从表不能是临时表,主表外键字段和从表的字段具备相同的数据类型、字符长度和约束。

授权用户权限 all privileges 代表了哪些权限

  1. insert(插入数据):将一条新的数据记录插入到表中。

  2. select(查询数据):从表中检索数据,可以根据条件进行筛选,返回满足条件的数据。

  3. update(更新表的数据):更新表中已有数据的值,可以根据条件限制更新范围。

  4. delete(删除表中的数据):删除表中特定的数据记录,可以根据条件限制删除范围。

  5. drop(删除库和表):删除数据库或表,慎用,删除后数据无法恢复。

  6. create(创建库、表):创建新的数据库或表格,以存储数据。

  7. index(创建索引):创建索引来提高数据库的查询效率。索引类似于书籍的目录,可以更快地找到需要的数据。

  8. alter(更改表的属性):修改表的结构,包括添加、删除、修改列等。

  9. create view(创建视图):创建一个虚拟的表,该表是由数据库中一个或多个表的数据生成的,可以简化查询操作。

  10. create routine(创建存储过程):创建存储过程,是一组预定、义的SQL语句,可以重复执行。

  11. alter routine(修改存储过程):修改已存在的存储过程。

  12. event(事件):在特定的时间点上执行某个操作,可以用来实现定时任务。

  13. trigger(创建触发器):在表中插入、更新或删除数据时自动触发的一系列操作。

这些是数据库常见的操作和概念,通过它们我们可以对数据进行插入、查询、更新和删除,以及对数据库结构进行修改和优化。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值