MySQL补充笔记

MySQL拓展知识点

1、获取服务器元数据

-- 服务器版本信息
SELECT VERSION()
-- 当前数据库名 (或者返回空)
SELECT DATABASE()
-- 当前用户名
SELECT USER()
-- 服务器状态
SHOW STATUS
-- 查看MySQL5.5服务器配置变量,部分变量即属于全局也属于会话
SHOW GLOBAL VARIABLES #全局系统变量,319条数据
SHOW SESSION VARIABLES #会话系统变量,331条数据
SHOW VARIABLES #331条数据,默认是会话系统变量
-- 查看指定的系统变量
-- 方式一,查看数据库字符集和校对字符集
show variables like 'character_%'
show variables like 'collation_%'
-- 方式二,查看默认的数据库引擎,
SELECT @@session.default_storage_engine
SELECT @@global.default_storage_engine

2、获取表数据约束信息

SELECT * FROM information_schema.`TABLE_CONSTRAINTS` WHERE table_schema = '数据库名' AND table_name = '表名'

3、查看建表语句

SHOW CREATE TABLE 表名;

注意事项

  1. 标准sql语句中要求列的别名使用双引号括起来、字符串则使用单引号括起来。虽然mysql使用单或双引号都不会报错,尽量别用。
SELECT 1+1 "sum" FROM dual --推荐
SELECT 1+1 sum FROM dual --不使用引号也可以
SELECT 1+1 'sum' FROM dual -- 在oracle中会报错
  1. 分组函数一般都会和group by联合使用,这也是为什么它被称为分组函数的原因。并且任何一个分组函数(count sum avg max min)都是在group by语句执行结束之后才会执行的。当一条sql语句没有group by的话,整张表的数据会自成一组。
-- 记住一个规则:当一条语句中有group by的话,select后面只能跟分组函数和参与分组的字段。
select job,avg(sal) from emp group by job;
  1. distinct只能出现在所有字段的最前面,用于对查询结果集的去重。
select ename,distinct job from emp; -- 错误
  1. limit是sql语句最后执行的一个环节
select 5
...
from 1
...
where 2
...
group by 3:后面只能是select的字段,因为在select之前执行,所以不能使用别名
...
having 4
...
order by 6:后面可以跟任意字段(或字段别名)
...
limit 7
...;
  1. 如何删除表和清空表中的数据
-- 删除表
drop table 表名; -- 这个通用。
drop table if exists 表名; -- oracle不支持这种写法。
-- 删除大表中的数据(重点)
truncate table 表名; // 表被截断,不可回滚。永久丢失。
  1. 在MySQL当中,凡是标识符是可以使用飘号括起来的。最好别用,不通用。
CREATE TABLE `user` (
`id` int(11) DEFAULT NULL
`name` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
posted @   danielzzz  阅读(22)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示