MySQL学习笔记_9_MySQL高级操作(上)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: MySQL高级操作(上) 一、MySQL表复制 create table t2 like t1;               #复制表结构,t2可以学习到t1所有的表结构 ins...

MySQL高级操作(上)



一、MySQL表复制

create table t2 like t1;               #复制表结构,t2可以学习到t1所有的表结构

insert into t2 select * from t1;    #复制表数据,但是这样还是会有缺陷,因为没有考虑到列的对应,因为t1t2的表结构完全一致,所以此次操作才不会出错!

建议:

insert into t3(name) select name from t1; #指定复制的列


二、MySQL索引

1、直接创建索引

create index index_name on table_name(column_list);                #创建普通索引

create unique index index_name on table_name(colume_list);    #创建唯一索引,请在创建唯一索引之前确保该列没有重复值,不然,创建不成功!


2、直接删除索引

drop index index_name on table_name;


3、修改-创建索引

alter table table_name add index [index_name](colum_list);                #创建普通索引

alter table table_name add unique [index_name](column_list);            #创建唯一索引

alter table table_name add primary key [index_name](column_list);   #创建主键索引,如果不添加index_name,则使用column_list作为默认索引名


4、修改-删除索引

alter table table_name drop index index_name;            #删除普通/唯一索引

alter table table_name drop primary key;                      #删除主键索引


【推荐使用方式34

【附】

1、查看索引:show index from t1 \G

2alter table table_name modify id int not null;


三、MySQL视图

视图:通过一个条件,把一部分数据从一张表里面提取出来,形成一张中间表,这张表就是视图

注意:视图随着主表的改变而改变

1、创建视图

create view view_name as select *from table_naem where id > 4 and id <= 10;


3、查看创建了哪些视图

showtables; #视图就是一个中间表

3、查看视图中数据

select* from view_name; #与查看表数据相同


4、删除视图

drop view view_name;


四、MySQL内置函数补充

查看函数作用及简单示例:? function_name

e.g. ? lcase;


1、字符串函数

1lcase(“string”)/ucase(“string”)           #转换成小写/大写,与lower(str)/upper(str)作用相同

2length(“string”)                                   #返回字符串的长度

3repeat(“string”,n)                                #将字符从重复n

4space(n)                                               #生成n个空格


2、数学函数

1bin(decimal_number)                          #十进制转二进制

2ceiling(n)                                             #作用与ceil相同,向下取整

3sqrt(n)                                                  #开平方

4max(col)/min(col)                               #取最大/最小值,聚合时使用

5rand()                                                   #生成随机数

select * from table_name order by rand(); #使用rand函数作为排序基准


3、日期函数

1datediff(expr1,expr2)                             #返回expr1expr2相差的天数,如果expr1> expr2,则返回正值

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
SQL 运维 关系型数据库
MySQL 中 GRANT 操作会引起复制中断吗?
GRANT 操作并不是一个原子性操作,不管执行成功与否,都会触发一个隐式重载授权表的行为。 在生产环境中需要规范用户创建及授权的操作,不推荐使用 DML 语句去直接变更 mysql.user 表,可能会引发其他的问题,若使用了 DML 语句进行变更, 需要手工执行 flush privileges。
56 4
|
2月前
|
JavaScript 关系型数据库 MySQL
创建nodejs项目并接入mysql,完成用户相关的增删改查的详细操作
创建nodejs项目并接入mysql,完成用户相关的增删改查的详细操作
45 0
|
1月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
47 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
1月前
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
58 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
|
1月前
|
SQL 关系型数据库 MySQL
MySQL学习笔记
这篇文章是一份关于MySQL数据库操作的学习笔记,涵盖了数据库的终端操作、数据类型、建表约束、事务处理以及SQL的连接查询等基础知识点。
|
1月前
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
29 6
|
1月前
|
存储 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
30 4
|
1月前
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(中)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
23 3
|
2月前
|
存储 关系型数据库 文件存储
面试题MySQL问题之简单的SELECT操作在MVCC下加锁如何解决
面试题MySQL问题之简单的SELECT操作在MVCC下加锁如何解决
36 2
|
2月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版操作报错合集之从mysql读数据写到hive报错,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。

热门文章

最新文章