1.显示表的所有列: SHOW FULL COLUMNS FROM 表名;
2.查看数据库的字符集:SHOW VARIABLES LIKE 'character_set_%';
3.修改字符集:SET character_set_database=gb2312;
4. SHOW VARIABLES LIKE 'collation_%';
5. SET NAMES gb2312
MySql基础
区域定义
常用
begin
......
end;
也可以给区块起别名,如:
lable:begin
...........
end lable;
可以用leave lable;跳出区块,执行区块以后的代码
条件语句
If 用法
if 条件 then
statement
else
statement
end if;
例如:
IF s1=11AND s2=12THEN
SELECT s1,s2;
ENDIF;
IF s3='s3'OR s1= s2 THEN
SELECT s3;
ELSE
SELECT s1,s2,s3;
ENDIF;
case用法
CASE 变量
WHEN 变量的值1THEN 执行条件1
[..n]
ELSE
执行条件else
END CASE;
循环语句
for循环
while循环
[label:] WHILE expression DO
statements
END WHILE [label] ;
例如:
WHILE s1>1 DO
SET s1=s1-1;
ENDWHILE;
SELECT s1;
loop循环
[label:] LOOP
statements
END LOOP [label];
例如:
/*
LOOP循环
LOOP没有循环条件,会不停的循环直到遇到 "LEAVE ZiDingYi;" "ZiDingYi"是自定义的LOOP标记
*/
ZiDingYi:LOOP
SET s1= s1+1;
IF s1=5THEN
LEAVE ZiDingYi;
ENDIF;
END LOOP;
SELECT s1;
repeat until循环
[label:] REPEAT
statements
UNTIL expression
END REPEAT [label] ;
例如:
/*
repeat循环语句
与while不同的是while满足条件就执行,repeat始终执行直到满足条件终止
*/
REPEAT
SET s1= s1-1;
UNTIL s1=1
END REPEAT;
SELECT s1;
SQL Select语句完整的执行顺序:
1、from子句组装来自不同数据源的数据;
2、where子句基于指定的条件对记录行进行筛选;
3、group by子句将数据划分为多个分组;
4、使用聚集函数进行计算;
5、使用having子句筛选分组;
6、计算所有的表达式;
7、使用order by对结果集进行排序。
8、select 集合输出。
Case的使用
1.CASE
WHEN bool表达式1 THEN 结果1
[....N]
ELSE else结果
END
2.CASE 变量
WHEN 变量的值1 THEN 结果1
[....N]
ELSE else结果
END
例如:
a.
select name,
case
when birthday<'1981' then 'old'
when birthday>'1988' then 'yong'
else 'ok' END YORN
from lee;
b.
select NAME,
case name
when 'sam' then 'yong'
when 'lee' then 'handsome'
else 'good' end
from lee;
c.case when语句还可以复合
select name,birthday,
case
when birthday>'1983' then 'yong'
when name='lee' then 'handsome'
else 'just so so ' end
from lee;