首页
学习
活动
专区
圈层
工具
发布

MYSQL用法(十) 索引的创建和删除

一  创建索引 在执行CREATE TABLE语句时可以创建索引,也可以单独用CREATE INDEX或ALTER TABLE来为表增加索引。...索引名index_name可选,缺省时,MySQL将根据第一个索引列赋一个名称。另外,ALTER TABLE允许在单个语句中更改多个表, 因此可以在同时创建多个索引。    ...另外,不能用CREATE INDEX语句创建PRIMARY KEY索引。    1.3.索引类型 在创建索引时,可以规定索引能否包含重复值。...如果没有创建PRIMARY KEY索引,但表具有一个或多个UNIQUE索引,则MySQL将删除第一个UNIQUE索引。 如果从表中删除了某列,则索引会受到影响。...对于多列组合的索引,如果删除其中的某列,则该列也会从索引中删除。 如果删除组成索引的所有列,则整个索引将被删除。

1.9K30

MySQL索引的创建,查看,删除,修改操作详解

index_type index_type表示索引的具体实现方式,在MySQL中,有两种不同形式的索引——BTREE索引和HASH索引。...另外,使用字段的一部分创建索引可以使索引文件大大减小,从而节省了大量的磁盘空间,有可能提高INSERT操作的速度。 在MySQL中,前缀长度最大值为255字节。...必须注意的是,在MySQL中,对于TEXT和BLOB这种大数据类型的字段,必须给出前缀长度(length)才能成功创建索引。...删除索引 在MySQL中删除索引的方法非常简单,其完整语法如下: –删除指定表中指定名称的索引 ALTER TABLE table_name DROP INDEX index_name; 在这里,我们编写...idx_user_username; 修改索引 MySQL并没有提供修改索引的直接命令,一般需要先删除原索引,再根据需要创建个同名索引,从而曲线救国实现修改索引操作。

2.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    mysql的存储过程介绍、创建、案例、删除、查看「建议收藏」

    存储过程 含义: 一组预先编译好的sql语句的集合,理解成批处理语句 好处: 1、提高代码的重用性 2、简化操作 3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率 一、创建语法...in模式参数的存储过程 案例: 要求:创建存储过程实现,根据女生名,查找对应的男生信息 a.创建存储过程: delimiter $ create procedure mypro3 (IN girlname...out模式参数的存储过程 案例1:根据女生名,返回对应的男生名 (以mysql8.0版本为例,和mysql5.5调用时略有不同) a....out参数的返回值,用的是mysql5.5的版本 最后进行查看:select @bName,@usercp$ (mysql8.0,调用时不用使用自定义的结束符号,mysql5.5需要使用自定义结束符号...,也就是调用之后,a,b的返回值 select @c,@d d.结果:调用一次,翻倍一次 5.储存过程案例讲解 四、存储过程的删除 ==一次只能删除一个储存过程名 == 语法: drop procedure

    11.1K21

    ②【MySQL表操作】 数据库表的创建、查询、修改、删除

    个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 数据库表的创建、查询、...DDL - 表操作 DDL-表操作: 查询表信息 ①查询当前数据库所有表 SHOW TABLES; ②查询表结构 DESC 表名; ③查询指定表的建表语句 SHOW CREATE TABLE 表名; 创建表操作...字段n 字段n类型 [COMMENT 字段n注释] )[COMMENT 表注释]; -- 演示: -- 创建表tb_user -- 注释内容使用一对英文的单引号括起来'' -- 整型用int表示 --...TO 新表名; 删除表操作: ①删除表 DROP TABLE [IF EXISTS] 表名; -- 演示 -- 删除名为aaa的表 -- 执行时,如果aaa表不存在,报错: -- 错误代码: 1051...aaa; ②删除指定表,并重新创建该表 TRUNCATE TABLE 表名;

    3.2K50

    【MySQL基础】库的操作:创建、删除与管理数据库

    一、MySQL数据库基础概念 在MySQL中,数据库(Database)是存储有组织数据的容器,一个MySQL服务器可以管理多个数据库,每个数据库包含多个表(Table)、视图(View)、存储过程(...另外想要了解底层的同学可以去了解一下mysql的主从复制原理,这个在大厂面试中经常出现 二、查看现有数据库 在对库进行操作之前,我们要先查看一下我们现在已经有哪些库了,查看库的语句为: SHOW DATABASES...; (大小写均可) 如图,我这里就已经有了六个数据库 之前我们在讲操作系统的时候总喜欢提的一句话就是:在操作系统下,一切皆文件。...其实这里的数据库在操作系统下同样也是以文件的形式存在的,我们可以查看/var/lib/mysql这个路径,在这个路径中我们就可以看到我们的这几个数据库,而且是以文件夹的形式存在的 三、创建数据库 基本语法...记住: 创建前规划好字符集和命名 删除前务必备份重要数据 定期维护数据库结构 以上就是本篇关于数据库各种操作的讲解了 感谢各位大佬观看,创作不易,还望各位大佬点赞支持!!!

    59810

    MySQL数据库学习·数据库的创建,修改,删除

    默认情况下,在windows下数据库名,表名的大小写是不敏感的,而在Linux 下数据库名,表名的大小写是敏感的,为了便于数据库在平台间进行移植,建议采用小写来定义名称。...创建数据库有两种创建方式分别是: CREATE DATABASE student(数据库名称); CREATE SCHEMA student(数据库名称); 在MySQL中,schema和database...但是其他的数据库产品(几乎所有数据库)有所不同.在oracle数据库产品中,schema是database的一部分....CREATE DATABASE IF NOT EXISTS student 在创建数据库的过程中,我们还可以指定字符集和校对规则名称,如下: CREATE DATABASE student CHARACTER...这里要注意字符集应和校对规则名称相对应,不可一边UTF8 一边GBK, 如若没有指定字符集和校对规则名字,则会按照默认MySQL默认方式(MySQL目录 my.ini配置文件)创建数据库,下面给出一些常用的字符集以及校对规则名称

    8.6K41

    【重学 MySQL】四十五、数据库的创建、修改与删除

    【重学 MySQL】四十五、数据库的创建、修改与删除 在 MySQL 中,数据库(也称为 schema)是用于存储和组织数据的一种逻辑结构。...因此,在命名时应尽量避免使用保留字,并遵循MySQL的标识符命名规则。 MySQL 中的数据类型 在MySQL中,数据类型用于指定表中列可以存储数据的种类。...此外,MySQL还允许在定义数据类型时指定额外的属性,如字符集、排序规则、是否允许为空以及默认值等。 创建数据库 要创建一个新的数据库,可以使用 CREATE DATABASE 语句。...你也可以在创建数据库时指定字符集和排序规则。...数据库名称:数据库名称在 MySQL 服务器上必须是唯一的,并且符合命名规则(例如,不能使用保留字)。 总结 使用 CREATE DATABASE 语句创建数据库。

    43910

    ①【数据库操作】 MySQL数据库的查询、创建、删除、使用。

    ②SQL语句可以使用空格 或者缩进 来增强语句的可读性。 ③MySQL数据库的SQL语句不区分大小写,关键字建议大写。...④注释: -- 单行注释(两条横杠 + 一个空格) #MySQL特有单行注释(一个井号) /* 多行注释 */ SQL分类 : ①DDL:数据定义语言,用来定义数据库对象(数据库,表,字段) ②DML:...数据操作语言,用来对数据库表中字段进行增删改 ③DQL:数据查询语言,用来查询数据库中表的记录 ④DCL:数据控制语言,用来创建数据库用户,控制数据库的访问权限 关系型数据库(RDBMS):建立在关系模型基础上...特点: ①使用表存储数据,格式统一,便于维护 ②使用SQL语言操作,标准统一,使用方便 数据库的查询、创建、删除、使用。...'sqlstudy1'; database doesn't exist DROP DATABASE `SQLstudy1`; -- 添加关键字IF EXISTS -- 已经不存在的数据库不会再被删除

    1.3K20

    mysql用户创建+密码修改+删除用户+角色分配 的正确姿势 实践笔记

    挂在github上的个人博客:由hexo强力驱动 个人博客 环境:当前mysql版本 mysql> select version(); +------------+ | version() |...+------------+ | 5.6.38 | +------------+ 1 row in set (0.00 sec) 1.创建用户: CREATE USER 'username'@'host...' IDENTIFIED BY 'password'; username:你将创建的用户名 host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆...,可以使用通配符% password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器 举个栗子: 创建张三用户,密码123456,可以从任意远程主机登陆(%) 如果是本地用户可用...5.然后删除用户 DROP USER 'username'@'host'; 举个栗子: 删除zhangsan用户 DROP USER 'zhangsan'@'%';

    1.3K41

    《MySQL入门很轻松》第4章:数据表的创建修改删除

    数据实际存储在数据表中,可见在数据库中,数据表是粘据库中最重要、最基本的操作对象,是数据存储的基本单位。本章介绍数据表的创建与操作,包括创建数据表、修改数据表、查看数据表结构与删除数据表等。 1....创建数据库 数据表属于数据库,在创建数据库之前,应该使用use 指定操作是在哪个数据库中进行。...修改数据表 数据表创建完成后,还可以根据实际需要对数据表进行修改 3.1 修改数据表名称 表名在一个数据库中是唯一确定的,数据库系统通过表名来区分不同的表 数据表更新代码格式 alter table 在 MySQL中修改字段数据类型的语法格式如下: ALTER TABLEMODIFY; 主要参数介绍如下。 表名:指要修改数据类型的字段所在表的名称。...MySQL中修改表字段名的语法格式如下: ALTER TABLECHANGE; 主要参数介绍如下。 表名:要修改的字段名所在的数据表。

    74700

    【MySQL】DDL的表操作详解:创建&查询&修改&删除(记得3点加上连接)

    前言 大家好吖,欢迎来到 YY 滴MySQL系列 ,热烈欢迎!...SHOW CREATE TABLE表名; 查看表是通过那些语句创建 三.根据需求创建表(设计合理的数据类型、长度) DDL基本的数据结构博客传送门在下方 传送门 设计一张员工信息表,要求如下...字段修改为username,类型为varchar(30) 4.删除表中字段 ALTER TABLE表名 DROP 字段名; 案例: 将emp表的字段username删除 5.修改表名 修改表名...ALTER TABLE 表名 RENAME TO 新表名; 案例: 将emp表的表名修改为employee 五.DDL-表操作-删除 语句总览 如下所示 1.删除表 加上IF EXISTS,...不存在也不报错 DROP TABLE[IF EXISTS]表名; 演示 2.删除指定表,并重新创建该表 TRUNCATE TABLE表名; 演示

    99710

    【MySQL】DDL的数据库操作:查询&创建&删除&使用(可cv代码+演示图)

    前言 大家好吖,欢迎来到 YY 滴MySQL系列 ,热烈欢迎!...本章主要内容面向接触过C++ Linux的老铁 主要内容含: 一.DDL-数据库操作 总览 查询 SHOW DATABASES; //查询所有数据库 SELECT DATABASE...() ; //查询当前数据库 展示所有数据库 查看当前数据库是什么(图中所示是itcast) 记得加() 创建 加上[IF NOT EXISTS]:如果不存在就创建;如果存在就不执行其他操作...第二次创建——>报错 加入[IENOT EXISTS], 重复创建不报错 加上[DEFAULTCHARSET], 指定utf8mb4字符集 utf8支持3字节,utf8mb4支持4字节...删除 加上[IF NOT EXISTS]:如果不存在就删除;如果存在就不执行其他操作(可省略) DROP DATABASE[IF EXISTS]数据库名; 使用 USE 数据库名; 切换数据库

    30210

    《一起学mongodb》之第四卷 索引

    前言 索引的重要性在数据库中是不言而喻的,mysql 中使用了 B+ 数来当做索引的数据结构,为 mysql 性能提升做了很大的贡献,那么在 mongoDB 中又使用了什么数据结构呢?...这些索引在其范围内具有更随机的值分布,但只支持相等匹配,而不支持基于范围的查询。 索引特性 唯一索引 在创建集合期间,MongoDB 在_id字段上创建唯一索引,这也是默认的唯一索引。...该索引主要是为了区分文档并且不能删除。...比如该文档 2000 年前的数据为垃圾数据,不常用,那就可以根据时间大于 2000 年创建索引 稀疏索引 索引的稀疏属性可确保索引仅包含具有索引字段的文档的条目。索引会跳过没有索引字段的文档。...可以使用的特殊索引,它可以在一定时间后自动从集合中删除文档。

    1.4K30

    如何管理SQL数据库

    打开数据库提示符(使用套接字/信任身份验证) 默认情况下,在Ubuntu 18.04上,根 MySQL用户可以使用以下命令在没有密码的情况下进行身份验证: sudo mysql 要打开PostgreSQL...'password'; 删除用户 使用以下语法删除数据库用户配置文件: DROP USER IF EXISTS username; 请注意,此命令默认情况下不会删除已删除用户创建的任何表,并且尝试访问此类表可能会导致错误...选择数据库 在创建表之前,首先必须告诉RDBMS您要在其中创建表的数据库。...在MySQL和MariaDB中,使用以下语法执行此操作: USE database; 在PostgreSQL中,您必须使用以下命令选择所需的数据库: \connect database 创建表 以下命令结构使用名称创建一个新表...如果您尝试在表中查找特定条目,但不确定该条目是什么,则这些条目很有用。

    7.1K95

    评估某个SQL回滚需要的耗时

    数据修改完成后,将在撤消日志中创建条目。如果事务使用SQL命令修改数据,它将为每个操作创建离散的undo logs 。...一旦事务被提交,MySQL就可以自由地清除在该事务中创建的 undo logs。 通常,回滚过程将比原始操作花费更多的时间。因为这是一个单线程进程。...案例:让我们考虑一个有1亿条记录的表sbtest1。我将根据id的条件删除3000万条记录。因此,在这中间,我强行终止了删除操作。...Pending rows to rollback 10341861 | +———————————————————————————————————-+ 1 row in set (5.37 sec) 使用上面创建的函数...,我们可以轻松估计回滚操作的大致时间为 06 分 09 秒。

    48120
    领券