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输出电压后恢复了正常。 …

jQuery实现瀑布流

以下是使用jQuery实现瀑布流的示例代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <titl…

Qml:键盘事件

import QtQuickWindow {width: 640height: 480visible: truetitle: qsTr("Test KeyEvent")//传递给活动窗口的QQuickWindow//传递给当前活动的Item&#xff08;focus为true&#xff09;&#xff0c;如没则找子节点中的&#xff0c;都没有则忽略Item{id:item1//focus:…

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

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

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

基于51单片机的火灾检测设计 基于51单片机的火灾检测设计&#xff08;仿真程序原理图论文报告&#xff09;功能要求仿真图&#xff1a;原理图&#xff1a;源程序&#xff1a;论文/报告&#xff1a;资料清单&#xff1a; 基于51单片机的火灾检测设计&#xff08;仿真程序原理图论…

【MySQL精通之路】InnoDB存储引擎

此博客为草稿&#xff0c;优先发布只为了获取主博客的地址 可以随时催更。。 1 InnoDB简介 2 InnoDB和ACID模型 【MySQL精通之路】InnoDB(2)-ACID模型-CSDN博客 3 InnoDB多版本管理 【MySQL精通之路】InnoDB(3)-MVCC多版本管理-CSDN博客 4 InnoDB架构图 【MySQL精通之路…

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

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

通关!游戏设计之道Day14

力量与你同在 所有类型的游戏里&#xff0c;赛车类&#xff0c;解谜类&#xff0c;动作冒险类和射击类你都能找到强化道具。 强化道具 设计强化道具时&#xff0c;设计师应该开动脑筋琢磨下面几个问题 1.强化道具有什么用&#xff1f; 2.他长什么样子&#xff0c;在整个游戏…

Lua获取表的长度

1.代码 -- 创建一个表并添加一些元素 local myTable {10, 20, 30, 40}-- 打印表的长度 print(#myTable) -- 输出 4&#xff0c;因为表中有 4 个元素-- 使用 # 来遍历表中的所有元素 for i 1, #myTable doprint(myTable[i]) end -- 这将依次打印 10, 20, 30, 40

C++知识点总结(35):快速幂

快速幂 一、意义1. 快速幂2. 时间复杂度 二、思想1. 模运算规则2. 幂的意义 三、程序模板 一、意义 1. 快速幂 快速幂是一种通过快速计算一个数的幂的方法。它主要用于对大数进行幂运算&#xff0c;以减少计算时间。 2. 时间复杂度 将一个数的幂表示为指数表达式&#xff0c;例…

CentOS配置应用服务自启动

1、创建服务脚本 cd /etc/systemd/system vim zhhg-service-prod.service 写入&#xff1a; [Unit] Descriptionzhhg-service-prod Afternetwork.target[Service] Typeforking Usermyuser ExecStartsh /home/cloud/zhhg-service-prod/restart.sh ExecStop/bin/kill -TERM $MAI…

Django中model中的抽象类

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

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

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

SpringBoot Hikari数据源的正确配置是这样的

SpringBoot Hikari数据源的正确配置是这样的 1. MySQL数据源配置2. H2数据源配置 spring-boot version: spring-boot-starter:2.6.7 1. MySQL数据源配置 # 数据源配置 spring:datasource:type: com.zaxxer.hikari.HikariDataSourceurl: jdbc:mysql://localhost:3306/db_nameu…

Flink 部署执行模式

一、介绍 Apache Flink 提供了多种部署模式&#xff0c;以适应不同的环境和需求。以下是 Flink 的一些主要部署模式&#xff1a; 1 本地模式&#xff08;Local Mode&#xff09;&#xff1a; Flink 可以在本地机器上以单进程的形式运行&#xff0c;所有任务都将在 JVM 进程中…

软件构造复习1

一、软件构造的多维度视图&#xff1a; 共有三个维度&#xff1a;1.按阶段划分&#xff1a;构造时/运行时视图&#xff0c;2.按动态性划分&#xff1a;时刻/阶段视图&#xff0c;3.按构造对象层次划分&#xff1a;代码/构件视图 具体可如图所示&#xff08;图片来自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配置环境变量&#xff1a; cd ~ vi .zshrc然后将以下信息赋值到文件当中保存&#xff1a; export NVM_…

mybatis 注解式 XML式 通用mapper(tk-mybatis)使用

Jdbc、jpa、mybatis区别 1.Jdbc(java database connectivety)是java数据库连接规范,但由于其使用过于繁琐,出现了ORM(object relative mapping)对象关系映射对jdbc进行了封装,简化了操作,常见的ORM有mybatis、hibernate等 2.JPA(Java Persistence API) &#xff0c;是Sun官方…

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

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