2021-7-29 MySql进阶
Alter的使用:
列的增加和删减
alter table users add user_name VARCHAR(100);#添加一列在末尾
SELECT * from users;
alter table users drop user_name;#删除一列
SELECT * from users;
alter table users add user_name VARCHAR(100) first;#添加一列在第一行
SELECT * from users;
alter table users drop user_name;
alter table users add user_name VARCHAR(100) after user_password;#添加一列在user_password之后
SELECT * from users;
alter table users drop user_name;
修改列的名称和类型
alter table users MODIFY user_name int;#将user_name修改成int类型
alter table users CHANGE user_name uname VARCHAR(100);#将列user_name的名称改成uname,类型改为varchar(100);
修改列的默认值
alter table users alter uname set DEFAULT 100;#设置默认值
show COLUMNS from users;
alter table users alter uname drop DEFAULT;#删除默认值
show COLUMNS from users;#显示表的设计状态
修改表的各种状态
alter table users ENGINE=myisam;#修改表状态为myisam
show table STATUS like 'users' ;#展示表的状态
alter table users ENGINE=INNODB;
SHOW table STATUS like 'users';
修改表的名称
alter table newtable rename to school;#将newtable的表名称改为school
索引的使用:
索引可以大大提高索引效率,但是用太多的索引,但会降低更新表的速度,所以不要滥用
CREATE TABLE mytable
(
ID INT NOT NULL,
username VARCHAR(16) NOT NULL,
index usernameIndex (username)#创建表的时候创建索引
);
drop index usernameIndex on mytable;#删除索引
drop TABLE mytable; CREATE TABLE newtable(
ID INT NOT NULL,
username VARCHAR(16) NOT NULL,
UNIQUE usernameIndex (username) #创建唯一索引
); drop TABLE newtable
普通索引:没有什么限制;
唯一索引:索引列的每个值都必须是唯一值
主键:只能有一列
全文索引:适合用于模糊查询,查找字符串内的字符
CREATE TABLE mytable
(
ID INT NOT NULL,
username VARCHAR(16) NOT NULL,
index usernameIndex (username)#创建表的时候创建索引
);
drop index usernameIndex on mytable;#删除索引 alter table mytable ADD PRIMARY key(ID);#主键索引
show INDEX from mytable;#显示索引
alter table mytable drop PRIMARY key; alter table mytable add UNIQUE idIndex(ID);#唯一索引
show INDEX from mytable;
drop index idIndex on mytable; alter table mytable add index idIndex(ID);#索引
show INDEX from mytable;
drop index idIndex on mytable; alter table mytable add FULLTEXT idIndex(username);#全文索引
show INDEX from mytable;
drop index idIndex on mytable; drop table mytable;
2021-7-29 MySql进阶的更多相关文章
- 【目录】mysql 进阶篇系列
随笔分类 - mysql 进阶篇系列 mysql 开发进阶篇系列 55 权限与安全(安全事项 ) 摘要: 一. 操作系统层面安全 对于数据库来说,安全很重要,本章将从操作系统和数据库两个层面对mysq ...
- mysql进阶(二十九)常用函数
mysql进阶(二十九)常用函数 一.数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) 返回大于x的最小整数值 EXP ...
- mysql进阶(二十八)MySQL GRANT REVOKE用法
mysql进阶(二十八)MySQL GRANT REVOKE用法 MySQL的权限系统围绕着两个概念: 认证->确定用户是否允许连接数据库服务器: 授权->确定用户是否拥有足够的权限执 ...
- mysql进阶(二十七)数据库索引原理
mysql进阶(二十七)数据库索引原理 前言 本文主要是阐述MySQL索引机制,主要是说明存储引擎Innodb. 第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础. ...
- mysql进阶(二十六)MySQL 索引类型(初学者必看)
mysql进阶(二十六)MySQL 索引类型(初学者必看) 索引是快速搜索的关键.MySQL 索引的建立对于 MySQL 的高效运行是很重要的.下面介绍几种常见的 MySQL 索引类型. 在数 ...
- mysql进阶(十六)常见问题汇总
mysql进阶(十六)常见问题汇总 MySQL视图学习: http://www.itokit.com/2011/0908/67848.html 执行删除操作时,出现如下错误提示: 出现以上问题的原因是 ...
- 【转】MySQL— 进阶
[转]MySQL— 进阶 目录 一.视图 二.触发器 三.函数 四.存储过程 五.事务 一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需 ...
- 29.Mysql监控
29.Mysql监控29.1 如何选择一个监控方案 29.1.1 选择何种监控方式 29.1.2 如何选择合适自己的监控工具29.2 常用网络监控工具 29.2.1 Cacti简介 29.2.2 Na ...
- MySQL进阶(视图)---py全栈
目录 mysql进阶(视图)---py全栈 一.什么是视图? 二.视图的特性 三.视图的优点 四.使用场合 五.视图基本操作 六.案例 mysql进阶(视图)---py全栈 一.什么是视图? 视图是从 ...
- mysql进阶练习
一 . MySQL进阶练习 /*==========================创建班级表=============================*/ CREATE TABLE class ( ...
随机推荐
- 笔记:C++学习之旅---IO库
笔记:C++学习之旅---IO库 C++的输入输出分为三种: (1)基于控制台的I/O (2)基于文件的I/O (3)基于字符串的I/O 练习8.4 编写函数,以读模式打开一个文 ...
- 阿里云 AIGC 白嫖 FC 搭建 stable diffusion
下午瞎逛在 V 站看到阿里在做推广,正好这几天在研究 stable-diffusion,就进去看了看,活动地址: https://developer.aliyun.com/topic/aigc . 主 ...
- Python OOP面向对象编程
OOP 思想: 以模块思想解决工程问题 面向过程 VS 面向对象 由面向过程转向面向对象 例子,我要开一个学校,叫XXX 讲师 学生 班主任 教室 学校 常用名词 OO:面向对象 OOA: 分析 OO ...
- Redis之消息队列实现
文章目录 秒杀场景 采用消息队列实现 List实现消息队列 PubSub(发布订阅)实现消息队列 基于Stream实现消息队列 消费者组 实践 总结 秒杀问题是非常重要且比较难实现的,如果不进行架构的 ...
- vue3 + vite 多项目多模块打包
vue3 + vite 多项目多模块打包 本示例基于vite-plugin-html插件,实现多个独立项目共存,共享组件和依赖,运行.打包互不干扰. npm create vite@latest 兼容 ...
- MQTT-保留消息和遗嘱消息
保留消息 为什么需要保留消息 如果不考虑持久会话的因素,那么MQTT订阅只有在客户端连接之后才能创建,所以服务端不能提前预知某个主题会被哪些服务端订阅或者某个客户端会订阅哪些主题,所以当消息到达服 ...
- 【Azure Redis 缓存】使用开源工具redis-copy时遇见6379端口无法连接到Redis服务器的问题
问题描述 当使用Azure Redis服务时,需要把一个Redis服务的数据导入到另一个Redis上,因为Redis服务没有使用高级版,所以不支持直接导入/导出RDB文件. 以编程方式来读取数据并写入 ...
- JSPModel
JSPModel what JSP开发模型就是JSP Model,是用JSP语言写的 why 为了更好地使用jsp技术开发 How JSPModel1 Why 因为在jsp开发中,包含了数据处理/业务 ...
- 如何进行测试分析与设计-HTSM启发式测试策略模型 | 京东云技术团队
测试,没有分析与设计就失去了灵魂: 测试人员在编写用例之前,该如何进行测试分析与设计呢?上次在<测试的底层逻辑>中讲到了[输入输出测试模型],还讲到了[2W+1H测试分析法],但2W1H分 ...
- NIST SP 800-37 信息系统和组织的风险管理框架 安全和隐私的系统生命周期方法
NIST SP 800-37 信息系统和组织的风险管理框架 安全和隐私的系统生命周期方法 它的结构分为3个层级:组织视图.业务任务和信息系统视图. 800-37是NIST SP 800-37的简称,即 ...