mysql删除所有表函数_033-MySQL、更新、删除、事务处
理、基本查询、函数、多表链接...
1. MySQL中的默认值处理
(1) 在MySQL中如何定义默认值?
①在 MySQL 中可以使⽤ DEFAULT 为字段设定⼀个默认值。如果在插⼊数据时并未指定该列的值,那么 MySQL 会将默认值添加到该列中。
如:创建 emp3 表,该表包含 emp_id 主键且⾃动增长,包含 name,包含 address 该列默值为”未知”。
create table emp3(emp_id int primary key auto_increment,name varchar(30)address varchar(50) default 'Unknown');
②如果在插⼊数据时并未指定该列的值,那么 MySQL 会将默认值添加到该列中。如果是完全项插⼊需要使⽤ default 来占位。
如:insert into emp3 values(default,"oldlu",default,default);
mysql删除重复的数据保留一条
2. MySQL中的更新操作
(1) 在MySQL中更新表中数据的语句是什么?
UPDATE 表名 SET 列名=值,列名=值 WHERE 条件;
(2) MySQL中的数据更新有什么特点?
①更新的表不能在 set 和 where 中⽤于⼦查询;
②update 后⾯可以做任意的查询
如:
更新 emp3 中 id 为 2 的数据,将地址修改为与 id 为 1 ⽤户的地址相同。
①update emp3 e ,(select address from emp3 where emp_id = 1)t set e.address = t.address p_id =2;
②update emp3 e set e.address = (select t1.address from (select emp_id, address from emp3)t1 p_id = 1 ) p_id = 2;(将更新表放在新表的⼦查询中)
3. MySQL中的删除数据
(1) 在MySQL中删除表中数据有⼏种⽅式?他们之间有什么区别?
①DELETE FROM 表名 WHERE 条件;(删除部分数据)
②TRUNCATE TABLE 表名;(清空表)
区别:
①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中事务默认的处理机制是什么机制?
在 MySQL 中,默认情况下,事务是⾃动提交的,也就是说,只要执⾏⼀条 DML 语句就开启了事物,并且提交了事务。
(2) 如何关闭MySQL中的事务⾃动提交?
START TRANSACTION
<
COMMIT|ROLLBACK
如:向 emp3 表中添加⼀条数据,要求⼿动提交事务。
start transaction;
insert into emp3 values(default,"oldlu",default,default);
commit;
5. MySQL的基本查询1
(1) MySQL中查询数据的语法格式是什么?
SELECT * | 投影列 FROM 表名;
(2) 在查询语句中⽀持哪些算术表达式?
+ :加法运算
- :减法运算
* :乘法运算
/ :除法运算,返回商
% :求余运算,返回余数
(3) 在MySQL中查看数据库编码的语句是什么?
select schema_ name,default_character_set_name from information_ schema.schemata where schema_ name = '数据库';
(4) 删除数据库的语句是什么?
Drop database 数据库名称;
6. MySQL的基本查询2
(1) 在MySQL中算术表达式中含有空值结果是什么?
包含空值的算术表达式计算结果为空。
(2) 在MySQL中如何为结果列起别名?
SELECT 列名 AS 列别名 FROM 表名 WHERE 条件
(3) 在MySQL中如何做结果集的连接处理?
MySQL 中并不⽀持||作为连字符,需要使⽤ concat 函数。在参数数量⽆限制。
Concat(列名1,‘字符串’,列名2,‘字符串’,···)
(4) 在MySQL中如何剔除重复数据?
在 SELECT 语句中⽤ DISTINCT 关键字除去相同的⾏。
7. MySQL的约束和排序数据
(1) 在MySQL中⽀持哪些⽐较运算符?
①等于=
②⼤于>
③⼤于等于>=
④⼩于<
⑤⼩于等于<=
⑥不等于!=或<>
(2) 在MySQL中如何实现模糊查询?
like
①%表⽰任意多个任意字符
②_ 表⽰⼀个任意字符
(3) 在MySQL中⽀持哪些逻辑运算符?
And;or;not
(4) 在MySQL中如何做范围查询?
①between ... and
②in 表⽰在⼀个⾮连续的范围内
(5) 在MySQL中如何判断空值?
①判断空 is null
②判断⾮空 is not null
(6) 在MySQL中如何对结果集做排序处理?
⽤ ORDER BY ⼦句排序
①ASC: 升序排序,默认
②DESC: 降序排序
8. 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-DD hh:mm:ss
②CURDATE() 返回系统当前⽇期,不返回时间
③CURTIME() 返回当前系统中的时间,不返回⽇期
④DAYOFMONTH(date) 计算⽇期 d 是本⽉的第⼏天
⑤DAYOFWEEK(date) ⽇期 d 今天是星期⼏,1 星期⽇,2 星期⼀,以此类推
⑥DAYOFYEAR(date) 返回指定年份的天数
⑦DAYNAME(date) 返回 date ⽇期是星期⼏
⑧LAST_DAY(date) 返回 date ⽇期当⽉的最后⼀天
9. 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 EN条件函数
10. MySQL的多表查询
在MySQL中可以使⽤哪些⽅式对多表查询?
等值连接;⾮等值连接;⾃连接
11. MySQL的外连接查询
(1) 在MySQL中⽀持⼏种外连接查询?
左外连接(LEFT OUTER JOIN)、右外连接(RIGHT OUTER JOIN)、全外链接(union)
(2) 在MySQL中如何将两个结果集合并?
①UNION可以将两个查询结果集合并,返回的⾏都是唯⼀的,如同对整个结果集合使⽤了DISTINCT。
②UNION ALL只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。
(3) 结果集合并的语法结构是什么?
SELECT 投 影 列 FROM 表 名 LEFT OUTER JOIN 表 名 ON 连 接 条 件 UNION SELECT 投影列 FR
OM 表名 RIGHT OUTER JOIN 表名 ON 连接条件;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。