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进阶的更多相关文章

  1. 【目录】mysql 进阶篇系列

    随笔分类 - mysql 进阶篇系列 mysql 开发进阶篇系列 55 权限与安全(安全事项 ) 摘要: 一. 操作系统层面安全 对于数据库来说,安全很重要,本章将从操作系统和数据库两个层面对mysq ...

  2. mysql进阶(二十九)常用函数

    mysql进阶(二十九)常用函数 一.数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) 返回大于x的最小整数值 EXP ...

  3. mysql进阶(二十八)MySQL GRANT REVOKE用法

    mysql进阶(二十八)MySQL GRANT REVOKE用法   MySQL的权限系统围绕着两个概念: 认证->确定用户是否允许连接数据库服务器: 授权->确定用户是否拥有足够的权限执 ...

  4. mysql进阶(二十七)数据库索引原理

    mysql进阶(二十七)数据库索引原理 前言   本文主要是阐述MySQL索引机制,主要是说明存储引擎Innodb.   第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础.    ...

  5. mysql进阶(二十六)MySQL 索引类型(初学者必看)

    mysql进阶(二十六)MySQL 索引类型(初学者必看)   索引是快速搜索的关键.MySQL 索引的建立对于 MySQL 的高效运行是很重要的.下面介绍几种常见的 MySQL 索引类型.   在数 ...

  6. mysql进阶(十六)常见问题汇总

    mysql进阶(十六)常见问题汇总 MySQL视图学习: http://www.itokit.com/2011/0908/67848.html 执行删除操作时,出现如下错误提示: 出现以上问题的原因是 ...

  7. 【转】MySQL— 进阶

    [转]MySQL— 进阶 目录 一.视图 二.触发器 三.函数 四.存储过程 五.事务 一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需 ...

  8. 29.Mysql监控

    29.Mysql监控29.1 如何选择一个监控方案 29.1.1 选择何种监控方式 29.1.2 如何选择合适自己的监控工具29.2 常用网络监控工具 29.2.1 Cacti简介 29.2.2 Na ...

  9. MySQL进阶(视图)---py全栈

    目录 mysql进阶(视图)---py全栈 一.什么是视图? 二.视图的特性 三.视图的优点 四.使用场合 五.视图基本操作 六.案例 mysql进阶(视图)---py全栈 一.什么是视图? 视图是从 ...

  10. mysql进阶练习

    一 .  MySQL进阶练习 /*==========================创建班级表=============================*/ CREATE TABLE class ( ...

随机推荐

  1. 明解STM32—GPIO应用设计篇之API函数及配置使用技巧

    一.前言 本篇开始对STM32的GPIO在实际开发设计中的使用配置和技巧进行探讨,可以先去回顾下之前介绍的GPIO的相关理论基础知识包括基本结构,工作模式和寄存器原理. 了解过STM32的GPIO相关 ...

  2. Locust 界面简介(非使用级)

    一.认识Locust 1.简介 Locust是一款易于使用的分布式负载测试工具,完全基于事件,即一个locust节点也可以在一个进程中支持数千并发用户,不使用回调,通过gevent使用轻量级过程(即在 ...

  3. 基于pip的python包管理工具

    以下是软件下载链接:https://mysecreat.lanzoub.com/i5yvf0swgtne 软件功能:可以对python包进行安装.卸载.升级.换源等操作,不用输入复杂命令 源码: im ...

  4. JUC并发常用工具学习

    今天主要来和大家分享一下JUC相关的一些简单知识,线程池文章就不介绍了,前面的文章有介绍,本文主要介绍Lock和认识synchronized和并发的一些工具类的使用. Lock 传统的锁有synchr ...

  5. 【必知必会的MySQL知识】④DCL语言

    目录 一.概述 二 .授权 2.1 语法格式 2.2 语法说明 2.3 权限类型 2.4 权限级别 三. 回收权限 3.1 语法格式 3.2 语法说明 3.3 注意事项 四 .实践操作 一.概述 数据 ...

  6. html5和css3基础学习笔记

    网页简介 一个页面包括结构.表现.行为三个部分. 结构:HTML用于描述页面的结构. 表现:CSS用于控制页面中元素的样式. 行为:JavaScript用于响应用户操作. 第一部分 HTML 5(Hy ...

  7. 2022-12-17:订单最多的客户。以下数据,结果输出3。请问sql语句如何写? DROP TABLE IF EXISTS `orders`; CREATE TABLE `orders` ( `

    2022-12-17:订单最多的客户.以下数据,结果输出3.请问sql语句如何写? DROP TABLE IF EXISTS `orders`; CREATE TABLE `orders` ( `or ...

  8. 2020-12-25:MQ中,如何保证消息的顺序性?

    福哥答案2020-12-25:[稍微详细的答案:](http://bbs.xiangxueketang.cn/question/875)生产者保证消息入队的顺序.MQ 本身是一种先进先出的数据接口,将 ...

  9. 2021-04-10:给定两个可能有环也可能无环的单链表,头节点head1和head2。请实现一个函数,如果两个链表相交,请返回相交的 第一个节点。如果不相交,返回null。【要求】如果两个链表长度之和为N,时间复杂度请达到O(N),额外空间复杂度 请达到O(1)。

    2021-04-10:给定两个可能有环也可能无环的单链表,头节点head1和head2.请实现一个函数,如果两个链表相交,请返回相交的 第一个节点.如果不相交,返回null.[要求]如果两个链表长度之 ...

  10. [C#]插件编程框架 MAF 开发总结

    1. 什么是MAF和MEF? MEF和MEF微软官方介绍:https://learn.microsoft.com/zh-cn/dotnet/framework/mef/ MEF是轻量化的插件框架,MA ...