1. MySQL中的默认值处理
(1) 在MySQL中如何定义默认值?
1、创建表时指定列的默认值:在列名类型后面+default+默认值
2、修改表添加列的默认值
alter table 表名add column 列名 列类型 default 0;
2. MySQL中的更新操作
(1) 在MySQL中更新表中数据的语句是什么?
update 表名 set 列名1=值,列名2=值… where 条件;
(2) MySQL中的数据更新有什么特点?
• 更新的表不能在 set 和 where 中用于子查询;
•update 后面可以做任意的查询
3. MySQL中的删除数据
(1) 在MySQL中删除表中数据有几种方式?他们之间有什么区别?
DELETE 与 TRUNCATE
区别:
•truncate 是整体删除(速度较快), delete 是逐条删除(速度较慢);
•truncate 不写服务器 log,delete 写服务器 log,也就是 truncate 效率比 delete 高的原因;
• truncate 是会重置自增值,相当于自增列会被置为初始值,又重新从 1 开始记录,而 不是接着原来的值。而 delete 删除以后,自增值仍然会继续累加。
(2) 删除emp3表中emp_id为1的雇员信息。
delete from emp3 where emp_id=1;
4. MySQL的事务处理
(1) 在MySQL中事务默认的处理机制是什么机制?
默认自动提交事务。
(2) 如何关闭MySQL中的事务自动提交?
使用start transaction;
5. MySQL的基本查询1
(1) MySQL中查询数据的语法格式是什么?
SELECT*| 投影列 FROM 表名;
(2) 在查询语句中支持哪些算术表达式?
+ :加法运算 - :减法运算 * :乘法运算 / :除法运算,返回商 % :求余运算,返回余数
(3) 在MySQL中查看数据库编码的语句是什么?
select schema_name,default_character_set_name from information_schema.sch emata where schema_name ='test';
(4) 删除数据库的语句是什么?
drop database 数据库名;
1. MySQL的基本查询2
(1) 在MySQL中算术表达式中含有空值结果是什么?
0
(2) 在MySQL中如何为结果列起别名?
空格
(3) 在MySQL中如何做结果集的连接处理?
concat()
(4) 在MySQL中如何剔除重复数据?
distinct
2. MySQL的约束和排序数据
(1) 在MySQL中支持哪些比较运算符?
• 等于= • 大于> • 大于等于>= • 小于< • 小于等于<= • 不等于!=或<>
(2) 在MySQL中如何实现模糊查询?
like
(3) 在模糊查询中占位符用什么符号表示?
%表示任意多个任意字符 •_表示一个任意字符
(4) 在MySQL中支持哪些逻辑运算符?
and or not
(5) 在MySQL中如何做范围查询?
•between...and
•in 表示在一个非连续的范围内
(6) 在MySQL中如何判断空值?
• 判断空 isnull • 判断非空 isnotnull
(7) 在MySQL中如何对结果集做排序处理?
order by
3. MySQL中常见单行函数1
(1) 在MySQL中处理字符大小的函数有哪些?
LOWER(str) 转换大小写混合的字符串为小写字符串
UPPER(str) 转换大小写混合的字符串为大写字符串
(2) 在MySQL中常见的字符函数有哪些?
CONCAT(str1,str2,...) 将 str1、str2 等字符串连接起来
SUBSTR(str,pos,len) 从 str 的第 pos 位(范围:1~str.length)开始,截取长度为 len 的字符串
LENGTH(str) 获取 str 的长度
INSTR(str,substr) 获取 substr 在 str 中的位置
LPAD(str,len,padstr)/RPAD(str,len,padstr)
TRIM(str) 从 str 中删除开头和结尾的空格(不会处理字符串中间含有的空格) LTRIM(str) 从 str 中删除左侧开头的空格
RTRIM(str) 从 str 中删除右侧结尾的空格
REPLACE(str,from_str,to_str) 将 str 中的 from_str 替换为 to_str(会替换掉所有符合 from_str 的字符串)
(3) 在MySQL中常见的数字函数有哪些?
ROUND(arg1,arg2):四舍五入指定小数的值。
ROUND(arg1):四舍五入保留整数。
TRUNC(arg1,arg2):截断指定小数的值,不做四舍五入处理。
MOD(arg1,arg2):取余。
(4) 在MySQL中常见的日期函数有哪些?
SYSDATE() 或者 NOW() 返回当前系统时间,格式为 YYYY-MM-DDhh-mm-ss CURDATE() 返回系统当前日期,不返回时间
CURTIME() 返回当前系统中的时间,不返回日期
DAYOFMONTH(date) 计算日期 d 是本月的第几天
DAYOFWEEK(date) 日期 d 今天是星期几,1 星期日,2 星期一,以此类推 DAYOFYEAR(date) 返回指定年份的天数
DAYNAME(date) 返回 date 日期是星期几
LAST_DAY(date) 返回 date 日期当月的最后一天
4. MySQL中常见单行函数2
(1) 在MySQL中常见的转换函数有哪些?
DATE_FORMAT(date,format) 将日期转换成字符串(类似 oracle 中的 to_char())
STR_TO_DATE(str,format) 将字符串转换成日期(类似 oracle 中的 to_date())
(2) 在MySQL中常见的通用函数有哪些?
IFNULL(expr1,expr2) 判断 expr1 是否为 null,如果为 null,则用 expr2 来代替 null (类似 oracle 的 NVL()函数)
NULLIF(expr1,expr2) 判断 expr1 和 expr2 是否相等,如果相等则返回 null,如果不 相等则返回 expr1
IF(expr1,expr2,expr3) 判断 expr1 是否为真(是否不为 null),如果为真,则使用 expr2 替代 expr1;如果为假,则使用 expr3 替代 expr1(类似 oracle 的 NVL2()函数)
COALESCE(value,...) 判断 value 的值是否为 null,如果不为 null,则返回 value;如 果为 null,则判断下一个 value 是否为 null……直至出现不为 null 的 value 并返回或者返回最 后一个为 null 的 value
CASE WHEN THEN ELSE END 条件函数
5. MySQL的多表查询
(1) 在MySQL中可以使用哪些方式对多表查询?
等值连接、非等值连接、自连接、外连接
6. MySQL的外连接查询
(1) 在MySQL中支持几种外连接查询?
左连接、右连接、全外连接
(2) 在MySQL中如何将两个结果集合并?
全外连接UNION/ UNION ALL
(3) 结果集合并的语法结构是什么?
(SELECT 投影列 FROM 表名 LEFT OUTER JOIN 表名 ON 连接条件) UNION (SELECT 投影列 FROM 表名 RIGHTOUTERJOIN 表名 ON 连接条件)
1. MySQL中的正则表达式
(1) MySQL中正则表达式的特点是什么?
• MySQL 中允许使用正则表达式定义字符串的搜索条件,性能要高于 like。
• MySQL 中的正则表达式可以对整数类型或者字符类型检索。
• 使用 REGEXP 关键字表示正则匹配。
• 默认忽略大小写,如果要区分大小写,使用 BINARY关键字
(2) MySQL中使用正则表达式的语法结构是什么?
select 投影列 from 表 where 条件 regexp 正则表达式;
1. MySQL中创建普通索引
(1) MySQL中的索引类型有哪些?
普通索引、唯一索引、主键索引、组合索引、全文索引
(2) 在MySQL中创建普通索引的方式有些?
1、直接创建索引
Create index 索引名 on 表名(列名(length));//length为可选参数,如果是BLOB和TEXT类型,必须指定length的长度。
2、修改表添加索引
Alter table 表名 add index 索引名(列名(length));
3、创建表时指定索引列
Create table 表名(列名1 类型,列名2 类型,… ,index 索引名(列名(length));
(3) 如何查询一个表中的索引?
show index from 表名;
(4) 如何删除一个索引?
drop index 索引名 on表名;