MySql的set和show

查看一个数据库的视图情况:

show full tables in test where table_type like '%view%'

上面的语句的功能是,查看test数据库中的所有视图。

-----------------------------------------------------------

上面的三行只是一个小插曲。不过也基础的表示了show功能的强大。show可以用来查看mysql服务器的状态、数据库装态、表的状态等。

show关键字的用法可以在后面跟上in关键字。不如说文章第二行的in test,就是说把当前的这个查询的结果限制在test数据库中。

其实,在使用了use test来选择了test数据库之后,第二行的代码就可以去掉in test了,默认就是在test数据库中进行查询。

----------------------------看下面的show的用法--------------------------------

SHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [LIKE 'pattern']
SHOW CREATE DATABASE db_name
SHOW CREATE TABLE tbl_name
SHOW DATABASES [LIKE 'pattern']
SHOW [STORAGE] ENGINES
SHOW ERRORS [LIMIT [offset,] row_count]
SHOW GRANTS FOR user
SHOW INDEX FROM tbl_name [FROM db_name]
SHOW INNODB STATUS
SHOW [BDB] LOGS
SHOW PRIVILEGES
SHOW [FULL] PROCESSLIST
SHOW STATUS [LIKE 'pattern']
SHOW TABLE STATUS [FROM db_name] [LIKE 'pattern']
SHOW [OPEN] TABLES [FROM db_name] [LIKE 'pattern']
SHOW [GLOBAL | SESSION] VARIABLES [LIKE 'pattern']
SHOW WARNINGS [LIMIT [offset,] row_count]

show语句还有以下几个用于描述主从复制的时候的状态:

SHOW BINLOG EVENTS
SHOW MASTER LOGS
SHOW MASTER STATUS
SHOW SLAVE HOSTS
SHOW SLAVE STATUS

set关键字的语法:

SET variable_assignment [, variable_assignment] ...

variable_assignment:
      user_var_name = expr
    | [GLOBAL | SESSION] system_var_name = expr
    | @@[global. | session.]system_var_name = expr

看一下这个: NAMES {'charset_name' | DEFAULT}
SET NAMES 设置了 3 个会话变量 character_set_client , character_set_connectioncharacter_set_results 为指定的字符集。默认的映射关系可以设定为 DEFAULT。请注意, SET NAMES 语法也不同于大多数其它的设置选项。它是自从 MySQL 4.1.0 以后才开始有的。这三个分别表示接收到的客户端请求使用的字符集、数据库使用的字符集和返回结果使用的字符集。


下面的这个变量需要关注一下:

SQL_BUFFER_RESULT = {0 | 1}
SQL_BUFFER_RESULT 强制将 SELECT 语句查询的结果放在临时表中。这可以让 MySQL 尽快释放加载表上的锁,同时还有助于改善向客户端发送结果需要较长时间的情况。这个变量是在 MySQL 3.23.13 中新增的。
强制使用临时表 SQL_BUFFER_RESULT
SELECT SQL_BUFFER_RESULT * FROM TABLE1 WHERE …
当我们查询的结果集中的数据比较多时,可以通过SQL_BUFFER_RESULT.选项强制将结果集放到临时表中,这样就可以很快地释放MySQL的表锁(这样其它的SQL语句就可以对这些记录进行查询了),并且可以长时间地为客户端提供大记录集。

SQL_AUTO_IS_NULL = {0 | 1}

如果被设置为1 ( 默认值 ) ,则可以通过以下语句来获得某个包含AUTO_INCREMENT 类型字段的表最后一条插入的记录:

WHERE auto_increment_column IS NULL

      这个,可以用在一个程序想获得刚刚插入的那条记录。比如emp中的id是自增长的,那么select * from emp where id is null就可以查出最后插入的那条记录【这里的记录必须是通过自增长的方式得到的id来插入的数据,如果是手动指定了一个id,那么这个查询语句返回的集合就是空】了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值