mysql sysdate() 慢_MySQL基本学习--(二)

本文详细介绍了MySQL中的数据操作,包括默认值设定、更新、删除,以及事务处理。此外,还探讨了各种查询语法,算术和逻辑运算符,以及日期、字符、数字等单行函数的使用。同时,讲解了多表查询、外连接和正则表达式,并讨论了索引的创建和管理。
摘要由CSDN通过智能技术生成

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表名;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值