在mysql中使用 update 语句配合 replace() 函数可以将表中指定字段中的指定字符串进行删除
例:
将表 table 中的 column 字段中包含的 aa 字符串删除,可以使用下面语句
update?talbe?set?column?=?replace(column,'aa','')
插入数据
insert into 表名(字段) values('数据');
修改数据
update 表名 set '字段'='数据';? #修改数据
delect from 表名 where 字段=值;? #删除数据
truncate table 表名;?? #清空所有数据 且无法恢复
DQL (数据查询语言,用来查询数据)
select 要查询字段 from 表名 [where 满足条件];
[group by 分组依据]
[order by 排序依据]
[limit 限定输出结果]
select * from 表名;?? #查询 表 所有数据
select 字段 字段 from 表名;?? #查询指定字段数据
select st.name,st.age,th.name,th.age from st,th;??? #查询一个或多个? 表中的数据
select * from 表名 order by 字段名;???? ?#排序,升序
select 字段 from 表名 order by desc;???? ? ?#? 字段降序
例:SELECT id,sname,age,phone,place,GROUP_CONCAT(age,place) FROM students GROUP BY age,place; #查询学生信息,根据age,place分组并显示每一组的记 录
select? distinct? 字段 from? 表名;????? #去除结果重复行
例:SELECT DISTINCT age FROM students; # 查询学生的年龄段情况
例:selcet id,sname,age,phone,GROUP_CONCAT(age) FROM students GROUP BY age; # 查询学生id,姓名,年龄,电话,根据age分组并显示每一组的记录
select?字段名?from?表名where字段名?regexp '匹配方式';
(^匹配以特定字符或 字符串开头的记录,
$匹配以特定字符或 字符串结尾的记录
[^字符集 合]匹配除"字符集合"以 外的任意一个字符
字符串{N }匹配字符串出现N次
字符串 {M,N}匹配字符串出现至 少M次,最多N次)
聚合函数查询
select?count(字段名)?from 表名;?? #对于除"*"以外的任何参数,返回所选择集合中非NULL值的行的数目;对于参数"*",返回选择集 合中所有行的数据,包含NULL值的行
例:SELECT COUNT(*) FROM students;
select?sum(字段名) from 表名;?? #表中某个字段取值的总和
select avg(字段名) from 表名;??#表中某个字段取值的平均值
select max(字段名) from 表名;? ?#表中某个字段取值的最大值
select min(字段名) from 表名;?? ?#表中某个字段取值的最小值
连接查询
a.内连接:列出数据表中与连接条件相匹配的数据行,组合成新记录【只有满足条件的记录才出现在查询结 果】 内连接的最常见的例子是相等连接,也就是连接后的表中的某个字段与每个表中的都相同
例:select s.name,d.dname?from staff s inner join department d WHERE s.dpid = d.id; # 连接员工表的dpid字段和部门表的id字段,并查询员工姓名和部门名称
b.外连接:与内连接不同,外连接是指使用OUTER JOIN关键字将两个表连接起来.外连接生成的结果集不仅 包含符合连接条件的行数据 ,而且还包含左表(左外连接时的表) 右表(右外连接时的表)或 两边连接表(全外连接时的表)中所有的数据行.
例:select?s.name,d.dname FROM staff s LEFT JOIN department d ON s.dpid = d.id; #连接员工表的dpid字段和部门表的id字段,并查询员工姓名和部门名称,如果右表中没有对应的 连接数据,会自动添加NULL值
例:SELECT s.name,d.dname FROM staff s RIGHT JOIN department d ON s.dpid = d.id; # 连接员工表的dpid字段和部门表的id字段,并查询员工姓名和部门名称,如果左表中没有对应 的连接数据,会自动添加NULL值
合并查询结果
select 字段名?from ?表名 UNION?select 字段名 ?from 表名;? #关键字UNION是将所 有的查询结果合并到一起,并且去除相同记录
例:SELECT dpid FROM staff UNION SELECT id FROM department; # 查询员工表dpid与部门表id,如果有重复数据,只显示一次
select?字段名?drom 表名 UNION ALL?select 字段名from表名;? #关键字UNION ALL 则只是简单地将结果合并到一 起
例:SELECT dpid FROM staff UNION ALL SELECT id FROM department; # 查询员工表dpid与部门表id,全部显示
create procedure用来创建 存储过程 ,create function用来创建 函数
Delimiter命令是改变语句的结束符 ,MySQL默认的结束符为;号,由于procedure和function中的;号并不代表创建的结束,所以要替换成另外的结束符以便表示创建的结束
rontine_body子句可以包含一个简单的SQL语句,也可以包含多个SQL语句, 通过begin...end将这多个SQL语句 包含在一起
MySQL存储过程和函数中也可以包含类似create和drop等DDL语句
comment子句用来写入对存储过程和函数的注释
Language子句用来表示此存储过程和函数的创建语言
存储过程和函数被标注为deterministic表明当输入相同的参数是会返回相同的结果,反之如果是not deterministic则表示相同参数不会是相同结果,默认是not deterministic
相关属性短语只有咨询含义,并不是强制性的约束
Drop procedure/function语句用来 删除指定名称的存储过程或函数
Begin...end语句通常出现在存储过程、函数和触发器中,其中 可以包含一个或多个语句 ,每个语句用;号隔开
标签label可以加在begin...end语句以及loop, repeat和while语句
语句中通过iterate和leave来控制流程,iterate表示返回指定标签位置,leave表示跳出标签
Declare语句通常用来声明本地变量、游标、条件或者handler
Declare语句只允许出现在begin ... end语句中而且必须出现在第一行
Declare的顺序也有要求,通常是先声明本地变量,再是游标,然后是条件和handler
本地变量可以通过declare语句进行声明
声明后的变量可以通过select ... into var_list进行赋值,或者通过set语句赋值,或者通过定义游标并使用fetch ... into var_list赋值
通过declare声明变量方法:
MySQL支持if,case,iterate,leave,loop,while,repeat语句作为存储过程和函数中的 流程控制语句 ,另外return语句也是函数中的特定流程控制语句
Case语句在存储过程或函数中表明了 复杂的条件选择语句
IF语句在存储过程或函数中表明了 基础的条件选择语句
其中在 function 里面,只有 DETERMINISTIC, NO SQL 和 READS SQL DATA 被支持.如果我们开启了 bin-log, 我们就必须为我们的 function 指定一个参数.
在 MySQL 中创建函数时出现这种错误的解决方法:
set global log_bin_trust_function_creators=TRUE;
Iterate语句 仅出现在loop,repeat,while循环语句中,其含义表示重新开始此循环
Leave语句表明 退出指定标签的流程控制语句块
通常会用在begin...end,以及loop,repeat,while的循环语句中
Loop语句是存储过程或函数中表达 循环执行 的一种方式
repeat语句是存储过程或函数中表达 循环执行 的一种方式
while语句是存储过程或函数中表达 循环执行 的一种方式
Return语句用在 函数中,用来终结函数的执行并将指定值返回给调用者
Cursor游标用来 声明一个数据集
游标的声明必须在变量和条件声明之后,在handler声明之前
Cursor close语句用来 关闭之前打开的游标
Cursor declare语句用来声明一个游标和指定游标对应的数据集合, 通常数据集合是一个select语句
Cursor fetch语句用来获取游标指定数据集的 下一行数据 并将各个字段值赋予后面的变量
Open cursor语句用来打开一个之前已经 声明好的游标
Declare condition语句命名 特定的错误条件 ,而该特定错误可以在declare...handler中指定 处理方法
个错误做特殊处理,可以用三种方法:
Declare handler语句用来声明一个handler来处理一个或多个特殊条件,当其中的某个条件满足时则触发其中的statement语句执行
Statement可以是一个简单SQL语句,也可以是begin...end组成的多个语句
Handler_action子句声明当执行完statement语句之后应该怎么办
Condition_value的值有以下几种:
当condition发生但没有声明handler时,则存储过程和函数依照如下规则处理
create trigger语句用来创建一个触发器,触发器的作用是当表上有对应SQL语句发生时,则触发执行
触发器创建时需要 指定对应的表名 tbl_name
Definer关键词用来指定trigger的安全环境
Trigger_time指定触发器的执行时间,BEFORE和AFTER指定触发器在表中的 每行数据修改前或者后 执行
Trigger_event指定触发该触发器的具体 事件
INSERT当新的一行数据插入表中时触发,比如通过执行insert,load data,replace语句插入新数据
UPDATE当表的一行数据被修改时触发,比如执行update语句时
DELETE当表的一行数据被删除时触发,比如执行delete,replace语句时
当执行insert into ... on duplicate key update语句时,当碰到重复行执行update时,则触发update下的触发器
Trigger_body表示触发器触发之后要执行的一个或多个语句,在内部可以引用涉及表的字段, OLD.col_name表示行数据被修改或删除之前的字段数据,NEW.col_name表示行数据被插入或修改之后的字段数据
Drop trigger语句用来 删除一个触发器
If exists短语用来避免删除不存在的触发器时引发报错
当你执行drop table时,表上的触发器也被drop掉了
先把自动事务提交关掉,
或者做好备份工作.
SET
AUTOCOMMIT
=
0;
UPDATE
NEWS
NEWSTEXT
WHERE
ID
BETWEEN
①.00
AND
length(NEWSTEXT)
删除最后一个字符为
+,+:
CASE
WHEN
LIKE
'%,'
THEN
substring(NEWSTEXT,1,length(NEWSTEXT)-1)
ELSE
END
'%,';
大意是这样,
细节再调整下,
执行完查下数据是否正确再提交.
①.、去掉mysql数据库中某字段的换行符和回车符:replace函数
注解:CHAR(10),'':将换行符CHAR(10)替换成空串,可理解为删除换行符
concat函数可以连接一个或者多个字符串,若其中一个为null,则返回null
后记:查询某个字段是否含有换行符和回车符
select *from student where name like '% \n\r %'
以上就是土嘎嘎小编为大家整理的怎么删除函数mysql相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!