MySQL中的sql语句

MySQL中的sql语句

DML、 DDL、 DCL

DML(Data Manipulation Language),用于对数据库中的数据进行操作,包括插入、查询、更新和删除数据等操作。常见的 DML 命令包括 SELECT(查询)、INSERT(插入)、UPDATE(更新)和 DELETE(删除)等。

DDL(Data Definition Language), 用于定义数据库的结构和组件,包括创建表、修改表结构、删除表等操作。常见的 DDL 命令包括 CREATE(创建)、ALTER(修改)和 DROP(删除)等。

DCL(Data Control Language),用于控制数据库用户的访问权限和安全性,包括授权用户访问数据库对象、撤销用户权限等操作。常见的 DCL 命令包括 GRANT(授权)、REVOKE(撤销权限)等。

数据库

创建数据库

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name		# 表示如果存在则不执行[create_option] ...create_option: [DEFAULT] {CHARACTER SET [=] charset_name			# 指定字符集| COLLATE [=] collation_name					# 指定校对规则| ENCRYPTION [=] {'Y' | 'N'}					# 指定是否需要加密
}

image

删除数据库

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

在这里插入图片描述

创建的时候用的是schema,删除的时候用的是database,彼此不分,说明两者一样

更改数据库

ALTER {DATABASE | SCHEMA} [db_name]alter_option ...alter_option: {[DEFAULT] CHARACTER SET [=] charset_name| [DEFAULT] COLLATE [=] collation_name| [DEFAULT] ENCRYPTION [=] {'Y' | 'N'}| READ ONLY [=] {DEFAULT | 0 | 1}
}

数据表

创建数据表

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name(create_definition,...)[table_options][partition_options]  CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name[(create_definition,...)][table_options][partition_options][IGNORE | REPLACE][AS] query_expressionCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name{ LIKE old_tbl_name | (LIKE old_tbl_name) }
create_definition: {col_name column_definition	# 定义一个列,包括列名和列的数据类型以及其他属性| {INDEX | KEY} [index_name] [index_type] (key_part,...)[index_option] ...			# 定义一个索引,可以指定索引的名称、列和其他选项| {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] (key_part,...)[index_option] ...		# 定义全文索引或空间索引,可以指定名称、列和其他选项| [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (key_part,...)[index_option] ... 		# 定义主键约束,可以指定主键的名称、类型、包含的列和其他选项| [CONSTRAINT [symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type] (key_part,...)[index_option] ...		# 定义唯一约束,可以指定唯一约束的名称、类型、包含的列和其他选项| [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (col_name,...)reference_definition	# 定义外键约束,包括外键名称、包含的列以及参考的表和列| check_constraint_definition # 定义检查约束,用于限制列中的值必须满足特定条件
}column_definition: {data_type 											# 指定类型[NOT NULL | NULL] 						# 是否可以包含null值[DEFAULT {literal | (expr)} ] #	指定默认值[VISIBLE | INVISIBLE]					# 指定列是否可见,默认为可见[AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY] # 自增长,适用于整型列[COMMENT 'string']						# 注释[COLLATE collation_name]			# 指定排序规则[COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] # 列的存储格式[ENGINE_ATTRIBUTE [=] 'string'] # 指定引擎相关的属性[SECONDARY_ENGINE_ATTRIBUTE [=] 'string'] # 指定引擎相关的属性[STORAGE {DISK | MEMORY}]			# 指定存储引擎为磁盘还是内存[reference_definition]				# 定义外键约束[check_constraint_definition] # 定义检查约束
}key_part: {col_name [(length)] | (expr)} [ASC | DESC] # 定义排序,可以指定列名的长度限制,也可以是表达式index_type:USING {BTREE | HASH} # 索引类型,b+树和哈希索引index_option: {KEY_BLOCK_SIZE [=] value	# 指定索引块的大小| index_type								# 索引类型| WITH PARSER parser_name		# 指定解析器名称| COMMENT 'string'					# 注释| {VISIBLE | INVISIBLE}			# 是否可见|ENGINE_ATTRIBUTE [=] 'string'	# 指定引擎相关的属性|SECONDARY_ENGINE_ATTRIBUTE [=] 'string' # 指定引擎相关的属性
}check_constraint_definition:[CONSTRAINT [symbol]] 		# 指定约束的名称,symbol为可选项CHECK (expr) 							# 指定要检查的条件表达式,只有当条件表达式返回TRUE时才会通过约束[[NOT] ENFORCED]					# 指定是否启用该检查约束,默认为ENFORCEDreference_definition:REFERENCES tbl_name (key_part,...) # 指定被引用表的名称以及与参考键相关联的列[MATCH FULL 			# 指定了匹配规则,决定了在执行关联操作时如何处理不完全匹配的情况| MATCH PARTIAL  # 要求所有引用键的值都在被引用表中有相应的匹配值| MATCH SIMPLE]	# 允许其中一部分引用键的值没有相应的匹配值[ON DELETE reference_option] # 指定了在删除被引用行时采取的操作[ON UPDATE reference_option] # 指定了在更新被引用行时采取的操作reference_option:RESTRICT 				# 在引用表中存在相关行时,阻止对被引用表中的行进行删除或更新操作。这是默认的选项| CASCADE 			# 当对被引用表中的行进行删除或更新操作时,自动级联执行相应操作到引用表中的相关行| SET NULL 			# 在被引用表中的行被删除或更新时,将引用表中的相关列的值设置为NULL| NO ACTION 		# 在引用表中存在相关行时,阻止对被引用表中的行进行删除或更新操作| SET DEFAULT		# 在被引用表中的行被删除或更新时,将引用表中相关列的值设置为默认值table_options:table_option [[,] table_option] ...table_option: {AUTOEXTEND_SIZE [=] value										# 指定表空间自动扩展的大小| AUTO_INCREMENT [=] value										# 指定自增列的起始值和增量| AVG_ROW_LENGTH [=] value										# 指定每行的平均长度| [DEFAULT] CHARACTER SET [=] charset_name		# 指定默认的字符集| CHECKSUM [=] {0 | 1}												# 启用或禁用校验和| [DEFAULT] COLLATE [=] collation_name				# 指定默认的排序规则| COMMENT [=] 'string'												# 为表添加注释| COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'}		# 指定表的压缩方式| CONNECTION [=] 'connect_string'							# 指定连接字符串| {DATA | INDEX} DIRECTORY [=] 'absolute path to directory'		# 指定数据或索引文件存储的目录| DELAY_KEY_WRITE [=] {0 | 1}									# 延迟索引更新| ENCRYPTION [=] {'Y' | 'N'}									# 启用或禁用表的加密| ENGINE [=] engine_name											# 指定表的存储引擎| ENGINE_ATTRIBUTE [=] 'string'								# 指定特定存储引擎的属性| INSERT_METHOD [=] { NO | FIRST | LAST }			# 指定插入新记录的位置| KEY_BLOCK_SIZE [=] value										# 指定索引块的大小| MAX_ROWS [=] value													# 指定表中允许的最大行数| MIN_ROWS [=] value													# 指定表中预期的最小行数| PACK_KEYS [=] {0 | 1 | DEFAULT}							# 指定索引压缩方式| PASSWORD [=] 'string'												# 为表设置密码| ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} # 指定行的存储格式| START TRANSACTION 													# 在创建或更改表时自动启动事务| SECONDARY_ENGINE_ATTRIBUTE [=] 'string'			# 指定特定辅助引擎的属性| STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1}			# 启用或禁用统计数据的自动重新计算| STATS_PERSISTENT [=] {DEFAULT | 0 | 1}			# 启用或禁用持久化统计数据| STATS_SAMPLE_PAGES [=] value								# 指定用于统计采样的页数| tablespace_option														# 指定表空间选项| UNION [=] (tbl_name[,tbl_name]...)					# 将多个表合并成一个虚拟表
}partition_options:PARTITION BY																# 指定分区的方式{ [LINEAR] HASH(expr)										# 按照表达式的哈希值进行分区| [LINEAR] KEY [ALGORITHM={1 | 2}] (column_list)	# 按照指定列的值进行分区,可以选择使用线性哈希算法| RANGE{(expr) | COLUMNS(column_list)}	# 按照表达式的范围或指定列的范围进行分区| LIST{(expr) | COLUMNS(column_list)} } # 按照表达式的列表或指定列的列表进行分区[PARTITIONS num]														# 指定分区的数量[SUBPARTITION BY														# 指定次级分区的方式{ [LINEAR] HASH(expr)										# 按照表达式的哈希值进行次级分区| [LINEAR] KEY [ALGORITHM={1 | 2}] (column_list) }	# 按照指定列的值进行次级分区[SUBPARTITIONS num]												# 指定次级分区的数量][(partition_definition [, partition_definition] ...)]		# 指定每个分区的具体定义partition_definition:PARTITION partition_name										# 指定分区的名称[VALUES																	# 指定分区的取值范围{LESS THAN {(expr | value_list) | MAXVALUE}	# 指定分区的上限值,可以是表达式或值列表的形式,也可以使用MAXVALUE表示最大值| IN (value_list)}]									# 指定分区的取值列表[[STORAGE] ENGINE [=] engine_name]			# 指定存储引擎[COMMENT [=] 'string' ]									# 为分区添加注释[DATA DIRECTORY [=] 'data_dir']					# 指定数据文件存储的目录[INDEX DIRECTORY [=] 'index_dir']				# 指定索引文件存储的目录[MAX_ROWS [=] max_number_of_rows]				# 指定分区允许的最大行数[MIN_ROWS [=] min_number_of_rows]				# 指定分区预期的最小行数[TABLESPACE [=] tablespace_name]				# 指定表空间的名称[(subpartition_definition [, subpartition_definition] ...)]	# 指定次级分区的具体定义subpartition_definition:SUBPARTITION logical_name										# 指定次级分区的逻辑名称[[STORAGE] ENGINE [=] engine_name]			# 指定存储引擎[COMMENT [=] 'string' ]									# 为次级分区添加注释[DATA DIRECTORY [=] 'data_dir']					# 指定数据文件存储的目录[INDEX DIRECTORY [=] 'index_dir']				# 指定索引文件存储的目录[MAX_ROWS [=] max_number_of_rows]				# 指定次级分区允许的最大行数[MIN_ROWS [=] min_number_of_rows]				# 指定次级分区预期的最小行数[TABLESPACE [=] tablespace_name]				# 指定表空间的名称tablespace_option:TABLESPACE tablespace_name [STORAGE DISK] 	# 将表存储在指定的表空间中,可以选择将存储类型设置为DISK,表示使用磁盘存储| [TABLESPACE tablespace_name] STORAGE MEMORY	# 将表存储在指定的表空间中,存储类型设置为MEMORY,表示使用内存存储

克隆数据表

CREATE TABLE new_tbl LIKE orig_tbl;CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;

修改数据表

# 添加字段
ALTER TABLE table_name DROP COLUMN new_column;
# 修改字段类型
ALTER TABLE table_name MODIFY COLUMN existing_column INT;
# 删除字段
ALTER TABLE table_name DROP COLUMN column_to_delete;
# 修改表名
ALTER TABLE table_name RENAME TO new_table_name;

删除数据表

DROP TABLE table_name;

表空间

在mysql中,只有InnoDB引擎才有表空间的概念,用于存储表数据和索引的物理文件,可以包含一个或者多个数据文件,这些文件可以位于同一个或不同个存储设备上。

创建表空间

CREATE [UNDO] TABLESPACE tablespace_name  	# 创建[undo]表空间InnoDB and NDB:														# 支持InnoDB引擎和NDB引擎的选项[ADD DATAFILE 'file_name']							# 指定要向Undo表空间添加的数据文件的文件名[AUTOEXTEND_SIZE [=] value]							# 指定自动扩展Undo表空间时增加的大小InnoDB only:															# 仅支持InnoDB[FILE_BLOCK_SIZE = value]								# 指定Undo表空间文件的块大小[ENCRYPTION [=] {'Y' | 'N'}]						# 指定是否对Undo表空间进行加密NDB only:																	# 仅支持NDBUSE LOGFILE GROUP logfile_group					# 指定要使用的日志文档[EXTENT_SIZE [=] extent_size]						# 指定Undo表空间的扩展大小[INITIAL_SIZE [=] initial_size]					# 指定Undo表空间的初始大小[MAX_SIZE [=] max_size]									# 指定Undo表空间的最大大小[NODEGROUP [=] nodegroup_id]						# 指定Undo表空间的节点组[WAIT]																	# 指定在创建Undo表空间时是否等待完成[COMMENT [=] 'string']									# 添加对Undo表空间的注释InnoDB and NDB:[ENGINE [=] engine_name]								# 指定表空间的存储引擎Reserved for future use:[ENGINE_ATTRIBUTE [=] 'string']					# 这是保留给将来使用的选项,目前没有特定的用途

修改表空间

# 修改表空间的数据文件路径
ALTER TABLESPACE tablespace_name ADD DATAFILE 'new_file_path';# 修改表空间的自动扩展大小
ALTER TABLESPACE tablespace_name AUTOEXTEND_SIZE = new_size;# 修改表空间的加密选项(仅适用于InnoDB表空间)
ALTER TABLESPACE tablespace_name ENCRYPTION = 'Y'; -- 开启加密

删除表空间

DROP TABLESPACE tablespace_name;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/15686.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

stm32H743不要将主频设置到480MHz

0 问题描述 本文使用的stm32H743是V版本,支持最高480MHz的主频。但在将主频设置为480MHz之后,使用FDCAN的回环模式出现了各种接收不到的异常问题。经过一番排查,将主频修改到400MHz,同时降低芯片内部LDO输出电压后恢复了正常。 …

“定融”爆大雷,害苦有钱人

据《大猫财经》Pro(ID:caimao_shuangquan)报道,中植系的恒天财富有5名理财顾问被抓了。其实因为涉及刑事犯罪,中植系不少高管之前已经进去了,现在进去的这几个,是追赃过程中遇到的不配合的那些人。 这个消息是从“恒天财富”内部…

基于51单片机的火灾检测设计(仿真+程序+原理图+论文报告+讲解视频)

基于51单片机的火灾检测设计 基于51单片机的火灾检测设计(仿真程序原理图论文报告)功能要求仿真图:原理图:源程序:论文/报告:资料清单: 基于51单片机的火灾检测设计(仿真程序原理图论…

算法课程笔记——矩阵乘法整除同余LCMGCD

算法课程笔记——矩阵乘法&整除&同余&LCM&GCD bool相等 不需要库函数 只有除法不是 本身就很大,如果不行就要考虑其他方法

Django中model中的抽象类

Django中model中的抽象类 当我们在app中models.py文件中定义model表并执行python manage.py makemigrations和python manage.py migrate后,Django就会在数据库中创建表 但是我们也可以对其默认配置修改,定义model类但是不在数据库中创建 from django.…

暴雨“彩虹”行业大模型加速器平台全新发布

近日,在第七届数字中国建设峰会期间,暴雨信息全新发布“彩虹”行业大模型加速器平台,聚焦于为客户降本增效减负,将海量通用数据与行业特有数据融合,专注于流程工艺的智能化改进,因地制宜深挖业务需求&#…

软件构造复习1

一、软件构造的多维度视图: 共有三个维度:1.按阶段划分:构造时/运行时视图,2.按动态性划分:时刻/阶段视图,3.按构造对象层次划分:代码/构件视图 具体可如图所示(图片来自PPT&#…

信息系统项目管理师0129:输入(8项目整合管理—8.7监控项目工作—8.7.1输入)

点击查看专栏目录 文章目录 8.7 监控项目工作8.7.1 输入8.7 监控项目工作 监控项目工作是跟踪、审查和报告整体项目进展,以实现项目管理计划中确定的绩效目标的过程。本过程的主要作用: 让干系人了解项目的当前状态并认可为处理绩效问题而采取的行动;通过成本和进度预测,让…

mac 系统正确安装nvm

mac 系统正确安装nvm 使用镜像命令 git clone https://gitee.com/mirrors/nvm.git ~/.nvm && cd ~/.nvm && git checkout git describe --abbrev0 --tags配置环境变量: cd ~ vi .zshrc然后将以下信息赋值到文件当中保存: export NVM_…

内外网文件传输安全可控的方式有哪些?这几款软件值得参考

在信息化时代,随着企业对网络安全和数据保护需求的日益增强,内外网隔离已成为一种常见的网络安全策略。内外网隔离旨在防止未经授权的访问和数据泄露,确保企业网络的安全稳定。然而,在实施内外网隔离的同时,如何实现文…

vue源码之mustache模板引擎1

模板引擎的一个有点:它是将数据转为视图的最优雅的方法 对于下面的数据 [{"name":"小名",age:"12","sex":男},{"name":"小红",age:"12","sex":女},{"name":"小王…

每日5题Day10 - LeetCode 46 - 50

每一步向前都是向自己的梦想更近一步&#xff0c;坚持不懈&#xff0c;勇往直前&#xff01; 第一题&#xff1a;46. 全排列 - 力扣&#xff08;LeetCode&#xff09; class Solution {//这道题就是一个dfs//把所有结果遍历&#xff0c;到叶子节点就可以添加结果了List<Int…

git回退到指定版本,同时提交记录也会删除

第一步&#xff1a; git reset --hard xxx (需要恢复版本的 commit id)第二步&#xff1a;branch_name就是远程分支的名称 git push origin <branch_name> --force

异相(相位不平衡)状态下的合成器效率分析-理论与ADS仿真

异相&#xff08;相位不平衡&#xff09;状态下的合成器效率分析-理论与ADS仿真 12、ADS使用记录之功分器设计中简单介绍了威尔金森功分器的设计方法。一般来讲&#xff0c;功分器反过来就能作为合路器使用&#xff0c;在输入信号相位一致的情况下&#xff0c;各种合路器的效率…

mySql从入门到入土

基础篇 在cmd中使用MYSQL的相关指令&#xff1a; net start mysql // 启动mysql服务 net stop mysql // 停止mysql服务 mysql -uroot -p1234//登录MYSQL&#xff08;-u为用户名-p为密码&#xff09; //登录参数 mysql -u用户名 -p密码 -h要连接的mysql服务器的ip地址(默认1…

infoq读书笔记-云原生时代,如何建设稳定性可观测体系?

而可观测性则是把Log、Trace、Metric拧成了一股绳&#xff0c;让三大支柱互相之间建立亲密的“血缘关系”&#xff0c;通过这种关系我们可以结构化的从整体到局部再到具体细节的观测业务&#xff1a; 图片来自网络如果把业务系统比作一座海上的冰山&#xff0c;监控仅能看到的…

回见,那果园

记不得何时开始骑行&#xff0c;何时开始爬山&#xff0c;何时偶遇洛师傅&#xff0c;何时进了那半山腰的果园。 似乎很远&#xff0c;又很近。 昨天打电话给果园的师傅&#xff0c;本意问问杏是否熟了&#xff0c;周末骑行过去、进山聊天顺道吃个新鲜。 洛师傅呵呵的笑…

Unity | 框架MVC

目录 一、MVC介绍 二、搭建UI界面 三、代码实现 1.Model层 2.View层 3.Controller层 四、MVC框架测试 五、知识补充 一、MVC介绍 model&#xff1a;数据层。界面展示的数据&#xff08;需要进行初始化、更新、保存、事件通知等操作&#xff09;&#xff0c;单例模式&am…

【golang】内存对齐

什么是内存对齐 在访问特定类型变量的时候通常在特定的内存地址访问&#xff0c;这就需要对这些数据在内存中存放的位置有限制&#xff0c;各种类型数据按照一定的规则在空间上排列&#xff0c;而不是顺序的一个接一个的排放&#xff0c;这就是对齐。 内存对齐是编译器的管辖…

机器视觉-硬件

机器视觉-硬件 镜头焦距凸透镜焦点不止一个相机镜头由多个镜片组成对焦和变焦 镜头光圈光圈的位置光圈系数F 镜头的景深景深在光路中的几何意义 远心镜头远心镜头的种类远心镜头特性应用场景 镜头的分辨率镜头反差镜头的MTF曲线镜头的靶面尺寸镜头的几何相差相机镜头接口螺纹接…