mysql基础(二) 常用SQL语句

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
SQL语句类型:
     DDL:数据库定义语言
     create,drop,alter
     DML:数据操作语言
     insert,delete,update,select
     DCL:数据控制语言
     grant,revoke
 
 
常用SQL语句:
     CREATE DATABASE         #创建数据库
     CREATE TABLE                #创建表
     CREATE TABLE table_name(字段名,字段数据类型,约束条件)   #创建表
     CREATE INDEX             #创建索引 
         数据类型:
         整形: int
             tinyint      #1byte
             smallint         #2byte
             mediumint        #3byte
             int          #4byte
             bigint       #8byte
             
         字符型:
             char         #固定长度字符型(不区分大小写)
             varchar      #可变长度字符型(不区分大小写)
             binary       #固定长度字符型(区分大小写)
             varbinary        #可变长度字符型(区分大小写)
             
         约束条件:
             NOT NULL        #不允许为空
             DEFAULT      #默认值   
                 PRIMARY KEY     #主键
             UNIQUE KEY      #唯一键           
             unsigned         #无符号的(适用于int类型)
             auto_increment   #自增,需要定义在一个键中(适用于int类型)
                             
使用实例:  
     show  global  variables;      #查看全局参数
     show session variables;      #mysql的当前会话参数
     show character  set ;          #查看支持的字符集
     show collation;           #查看支持的排序规则
     show engines;             #查看支持的存储引擎
     show table status like  'user' \G;         #查看表状态
     show  global  variables like  '%server%' ;   #数据库id
     show master logs;          #查看数据库二进制日志
     show master status;            #查看主服务器状态
     show grants  for  'dj' @ 'localhost' ;     #查看dj用户的授权信息
     show index  from  mysql.user;       #查看索引
     show databases;             #查看数据库
     show tables;                #查看数据库的表
     
     
     select 字段名  from  表名 [where   查询条件]    #查看表中的内容
     select  *   from  user\G;               #查看用户的详细信息
     select  databese();                      #查看默认数据库
     select  *  from  test where  id > 2  and  id < 4 ;     #查询test表中id大于2小于4的数据
         where条件:
             >  <  > =   < =   = =   ! =   and   or   not  
             like:模糊查询      rlike:基于正则表达式的模糊查询
     
     drop database 数据库名;        #删除数据库
     drop table 表名;             #删除指定表
     drop user  '用户名' @ '主机' ;      #删除用户
     
     
     update 表名  set  更改的值  where  条件匹配   #修改表中的数据
     update test  set  name = 'huyuan'  where  id = 2 ;
     
     
     delete   from  表名 where 条件条件        #删除条件匹配的数据
     delete  from  test where  id = 2 ;
     
     
     insert into 表名(字段 1 ,字段 2 ) values(字段 1 的值,字段 1 的值)
     insert into test(name) values( 'zhangtao' );
     
     insert into 表名 (字段 1 ,字段 2 ) select语句    #插入通过select查询得到的数据
     insert into user (user,host,passwd) select User,Host,Password  from  mysql.user;
     
     
     grant 权限列表 on 数据库.表 to  '用户名' @ '授权主机'  identified by  '密码'
             #授权用户
     revoke drop on 数据库.表  from  '用户名' @ '授权主机' ;     #撤销授权
     
     
     altar table 表名 add 字段名 字符型          #添加字段
     alter table test ip varchar;
     
     altar table 表名 change 源名 修改后的名 字符型     #更改字段
     alter table test change ip sid  int ;
     
     altar table 表名 drop 字段名          #删除字段
     alter table test drop sid;                     
     
     
         
     set  global  变量名 = 值;              #设置全局参数
     set  session 变量名 = 值;             #设置当前会话参数
     use 数据库名;                   #指定默认数据库
     create index 索引名 on 表名;      #创建索引  
     flush privileges;               #重读授权表
 
     
创建表的三种方式:
     1 、直接创建
             create teble 表名 (字段名 1  字段类型,字段名 2  字段类型)
     2 、复制表和表中的数据
         create teble  表名 select语句
         例:create teble  test select User,Host,Password  from  mysql.user;
     3 、复制表结构
         create teble tbl_name like 模板表
         例:create teble test2 LIKE test 


本文转自  红尘世间  51CTO博客,原文链接:http://blog.51cto.com/hongchen99/1931918
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
15天前
|
SQL 存储 缓存
MySQL的架构与SQL语句执行过程
MySQL架构分为Server层和存储引擎层,具有高度灵活性和可扩展性。Server层包括连接器、查询缓存(MySQL 8.0已移除)、分析器、优化器和执行器,负责处理SQL语句;存储引擎层负责数据的存储和读取,常见引擎有InnoDB、MyISAM和Memory。SQL执行过程涉及连接、解析、优化、执行和结果返回等步骤,本文详细讲解了一条SQL语句的完整执行过程。
34 3
|
15天前
|
SQL 关系型数据库 MySQL
基于SQL Server / MySQL进行百万条数据过滤优化方案
对百万级别数据进行高效过滤查询,需要综合使用索引、查询优化、表分区、统计信息和视图等技术手段。通过合理的数据库设计和查询优化,可以显著提升查询性能,确保系统的高效稳定运行。
34 9
|
22天前
|
SQL Oracle 关系型数据库
【YashanDB 知识库】如何将 mysql 含有 group by 的 SQL 转换成崖山支持的 SQL
在崖山数据库中执行某些 SQL 语句时出现报错(YAS-04316 not a single-group group function),而这些语句在 MySQL 中能成功执行。原因是崖山遵循 SQL-92 标准,不允许选择列表中包含未在 GROUP BY 子句中指定的非聚合列,而 MySQL 默认允许这种操作。解决办法包括:使用聚合函数处理非聚合列或拆分查询为两层,先进行 GROUP BY 再排序。总结来说,SQL-92 更严格,确保数据一致性,MySQL 在 5.7 及以上版本也默认遵循此标准。
|
1月前
|
SQL 存储 关系型数据库
MySQL原理简介—10.SQL语句和执行计划
本文介绍了MySQL执行计划的相关概念及其优化方法。首先解释了什么是执行计划,它是SQL语句在查询时如何检索、筛选和排序数据的过程。接着详细描述了执行计划中常见的访问类型,如const、ref、range、index和all等,并分析了它们的性能特点。文中还探讨了多表关联查询的原理及优化策略,包括驱动表和被驱动表的选择。此外,文章讨论了全表扫描和索引的成本计算方法,以及MySQL如何通过成本估算选择最优执行计划。最后,介绍了explain命令的各个参数含义,帮助理解查询优化器的工作机制。通过这些内容,读者可以更好地理解和优化SQL查询性能。
|
1月前
|
SQL 关系型数据库 MySQL
MySQL进阶突击系列(07) 她气鼓鼓递来一条SQL | 怎么看执行计划、SQL怎么优化?
在日常研发工作当中,系统性能优化,从大的方面来看主要涉及基础平台优化、业务系统性能优化、数据库优化。面对数据库优化,除了DBA在集群性能、服务器调优需要投入精力,我们研发需要负责业务SQL执行优化。当业务数据量达到一定规模后,SQL执行效率可能就会出现瓶颈,影响系统业务响应。掌握如何判断SQL执行慢、以及如何分析SQL执行计划、优化SQL的技能,在工作中解决SQL性能问题显得非常关键。
|
3天前
|
SQL 关系型数据库 MySQL
MySQL生产环境迁移至YashanDB数据库深度体验
这篇文章是作者将 MySQL 生产环境迁移至 YashanDB 数据库的深度体验。介绍了 YashanDB 迁移平台 YMP 的产品相关信息、安装步骤、迁移中遇到的各种兼容问题及解决方案,最后总结了迁移体验,包括工具部署和操作特点,也指出功能有优化空间及暂不支持的部分,期待其不断优化。
|
14天前
|
监控 关系型数据库 MySQL
云数据库:从零到一,构建高可用MySQL集群
在互联网时代,数据成为企业核心资产,传统单机数据库难以满足高并发、高可用需求。云数据库通过弹性扩展、分布式架构等优势解决了这些问题,但也面临数据安全和性能优化挑战。本文介绍了如何从零开始构建高可用MySQL集群,涵盖选择云服务提供商、创建实例、配置高可用架构、数据备份恢复及性能优化等内容,并通过电商平台案例展示了具体应用。
|
22天前
|
SQL 关系型数据库 MySQL
数据库数据恢复——MySQL简介和数据恢复案例
MySQL数据库数据恢复环境&故障: 本地服务器,安装的windows server操作系统。 操作系统上部署MySQL单实例,引擎类型为innodb,表空间类型为独立表空间。该MySQL数据库没有备份,未开启binlog。 人为误操作,在用Delete命令删除数据时未添加where子句进行筛选导致全表数据被删除,删除后未对该表进行任何操作。
|
27天前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
132 25
|
1月前
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
174 42