首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

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

1.7K30

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.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    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

    4.1K20

    ②【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 表名;

    52950

    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配置文件)创建数据库,下面给出一些常用的字符集以及校对规则名称

    7.4K41

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

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

    12810

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

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

    38720

    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'@'%';

    85541

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

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

    65600

    【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表名; 演示

    59510

    【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 数据库名; 切换数据库

    14410

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

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

    1.1K30

    如何管理SQL数据库

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

    5.5K95

    MySQLMariaDB 语句速查笔记

    平时实际开发的时候,其实并不太依赖 MySQL 作为 关系型数据库 中的 “关系” 这一属性,更多地只是把 MySQL 作为数据存储的介质。...因此 MySQL 语句其实很少写,所以本文用于记录一些 MySQL 在常规数据操作中的常用语法,备查。少用或者不用的知识就不列了。...Delete,删除 DELETE FROM 表名 WHERE 条件 ... Find or Create 逻辑 这是一个很实际的需求,业务需要依据条件获取一个条目,如果不存在,则创建该条目。...AS tmp WHERE NOT EXISTS ( SELECT id FROM 表名 WHERE 条件 ... ) LIMIT 1 数据表操作、调整 获取表信息 desc 表名 获取表创建语句...日期和时间 date:日期,格式为 "2008-12-2" time:仅时间,格式为 "13:15:55" 或 "13:15:55:123" datetime(m):日期和时间,m 表示秒小数点后的位数

    1.5K50

    评估某个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 秒。

    31720
    领券