MYSQL中的变量
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 变量分为用户变量与系统变量。 用户变量: 用户变量与数据库连接有关,在这个连接中声明的变量,在连接断开的时候,就会消失。 在此连接中声明的变量无法在另一连接中使用。 用户变量的变量名的形式
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入
变量分为用户变量与系统变量。
用户变量:
用户变量与数据库连接有关,在这个连接中声明的变量,在连接断开的时候,就会消失。
在此连接中声明的变量无法在另一连接中使用。
用户变量的变量名的形式为@varname的形式。
名字必须以@开头。
声明变量的时候需要使用set语句,比如下面的语句声明了一个名为@a的变量。
set @a = 1;
声明一个名为@a的变量,并将它赋值为1,mysql里面的变量是不严格限制数据类型的,它的数据类型根据你赋给它的值而随时变化 。
(SQL SERVER中使用declare语句声明变量,且严格限制数据类型。)
我们还可以使用select 语句为变量赋值 。
比如:
set @name = ;
select @name:=password from user limit 0,1;
(注意等于号前面有一个冒号,后面的limit 0,1是用来限制返回结果的,相当于SQL SERVER里面的top 1)
如果直接写:
select @name:=password from user;
如果这个查询返回多个值的话,那@name变量的值就是最后一条记录的password字段的值 。
系统变量:
系统变量又分为全局变量与会话变量。
全局变量在MYSQL启动的时候由服务器自动将它们初始化为默认值,这些默认值可以通过更改my.ini这个文件来更改。
会话变量在每次建立一个新的连接的时候,由MYSQL来初始化。MYSQL会将当前所有全局变量的值复制一份。来做为会话变量。
(也就是说,如果在建立会话以后,没有手动更改过会话变量与全局变量的值,那所有这些变量的值都是一样的。)
全局变量与会话变量的区别就在于,对全局变量的修改会影响到整个服务器,但是对会话变量的修改,只会影响到当前的会话
(也就是当前的数据库连接)。
我们可以利用
show session variables;
语句将所有的会话变量输出:
(可以简写为show variables,没有指定是输出全局变量还是会话变量的话,默认就输出会话变量。)
mysql> show global variables;
+---------------------------------+----------------------------------------------------------------+
| Variable_name | Value |
+---------------------------------+----------------------------------------------------------------+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
| automatic_sp_privileges | ON |
..................................省略..............................
| tmpdir | C:WINDOWSTEMP |
| transaction_alloc_block_size | 8192 |
| transaction_prealloc_size | 4096 |
| tx_isolation | REPEATABLE-READ |
| updatable_views_with_limit | YES |
| version | 5.0.67-community-nt |
| version_comment | MySQL Community Edition (GPL) |
| version_compile_machine | ia32 &n

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

MySQL是一个开源的关系型数据库管理系统。1)创建数据库和表:使用CREATEDATABASE和CREATETABLE命令。2)基本操作:INSERT、UPDATE、DELETE和SELECT。3)高级操作:JOIN、子查询和事务处理。4)调试技巧:检查语法、数据类型和权限。5)优化建议:使用索引、避免SELECT*和使用事务。

不同数据库系统添加列的语法为:mysql:alter table table_name add column_name data_type; postgresql:alter table table_name添加column_name data_type; oracle; oracle:alter table table_name add(column_name data_type)

直接从数据库中恢复被删除的行通常是不可能的,除非有备份或事务回滚机制。关键点:事务回滚:在事务未提交前执行ROLLBACK可恢复数据。备份:定期备份数据库可用于快速恢复数据。数据库快照:可创建数据库只读副本,在数据误删后恢复数据。慎用DELETE语句:仔细检查条件,避免误删数据。使用WHERE子句:明确指定要删除的数据。使用测试环境:在执行DELETE操作前进行测试。

在SQL图形化工具中添加列:选择要添加列的表。右键单击并选择“Alter Table”或类似选项。定义新列的属性(名称、数据类型、长度、是否为空)。指定新列的默认值(如果适用)。选择适当的数据类型以避免数据错误。使用有意义的列名。考虑对大表执行添加列操作时的性能影响。在操作前始终备份数据库,以防止数据丢失。

如何在 Navicat 中导入 SQL 文件?打开 Navicat 并连接到目标数据库。导航到“查询”选项卡。点击“导入 SQL 文件”按钮。选择 SQL 文件并设置导入选项。点击“导入”按钮开始导入。

SQL删除行是否触发事务取决于:1. 数据库系统(有些自动提交,无需事务);2. 会话设置(可手动开启或关闭自动提交);3. 是否显式开启事务(最佳实践,保证数据一致性)。

Linux初学者应掌握文件管理、用户管理和网络配置等基本操作。1)文件管理:使用mkdir、touch、ls、rm、mv、cp命令。2)用户管理:使用useradd、passwd、userdel、usermod命令。3)网络配置:使用ifconfig、echo、ufw命令。这些操作是Linux系统管理的基础,熟练掌握它们可以有效管理系统。

构建 SQL 数据库涉及 10 个步骤:选择 DBMS;安装 DBMS;创建数据库;创建表;插入数据;检索数据;更新数据;删除数据;管理用户;备份数据库。
