注册CSDN这么久以来,一直都是“白嫖”别人的分享成果,是时候回报组织了,以后我也会把我的在测试工作中的一些总结分享给大家,互相学习,共同进步。
作为一名刚开始学习MySQL数据库的初学者来说,基本的语法好多,记不住,怎么办?
今天就交给大家MySQL数据库增删改查的终极语法,能用一句概括的为啥要写那么多呢?该方法曾经帮助了一名新同事,非常有效,抄在小本本上好好研究一下吧!废话不多说,开始上语句!
一、DQL语句,基本的查询语句,多表联合,内连接。
#一、selec基本t查询语句+排序+显示行数。
select 列名1 别名,列名2 别名 from 表名 where 查询条件 order by 列1名 asc|desc,列2名 asc|desc limit m,n;
#注:1、如果是想查询全部列,就把写成select * from .......
# 2、查询条件有运算符,比如:= < <= > >= <>不等于 != 不等于,还有模糊运# 算,关键字是like,比如:name like “张三%”,%表示0位或者多位任意字符,_表示1位任意字符;
# 查询条件中还有多条件运算符,关键字是in,between and
# 查询条件中还有多条件查询,关键字是 and or not,就是把几个查询条件连接在一起。
# 3、排序的关键字是order by ,asc是升序,默认可以不写,desc是降序排列,如果是多列排序就用,隔# 开。
# 4、显示多少行,关键字是limit,从第m+1行开始,显示n行。
# 5、注意关键字的顺序。
#二、分组查询
select 分组的那个列名, count(列名),avg(列名),max(列名),min(列名),sum(列名) from 表名 group by 列名 having 统计函数 运算符 搜索值;
#注:按照哪一列先进行分组,然后用聚合函数,用having关键字进行过滤。如果想要排序和显示行,把order by 和limit 加在后面。
#三、多表联合查询
select * f rom student , score where student.did=score.did and 过滤条件;#查询语句简单
#注:多表联合查询中,若果是n个表,则至少需要n-1个连接条件,用and将连接条件和过滤条件连接起来;
四、内连接
select * from student inner join department on student.did=department.did; #查询效率更快
#注:其实和上面的多表联合查询效果是一样的,只不多是关键字不一样,在这里用的是 表一名 inner join # 表二名 on 连接条件。
二、DML语句,insert,update,delete
#一、插入语句
insert into 表名(列名,列2名,列3名...) values(数据1,数据2,数据3....) , (数据1,数据2,数据3....) , (数据1,数据2,数据3....) ;
# 注:insert一次性的插入多行,
#二、删除语句
delete from 表名 where 条件;
#注:如果没有where 条件;删除的是所有行;(慎重,慎重,再慎重)
update 表名 set 列名=新的数据 where 条件;
#备注:如果没有where 条件;默认修改所有行;(慎重)
三、DDL语句,create,alter,drop
#一、创建表格
create table 表名(
列名 数据类型,
列2名 char(20),
列3名 varchar(30),
列4名 int,
列5名 datetime
);
注:, 是列之间的分隔符,同一个数据库中:表名要唯一; 同一个表名中列名要唯一;
#二、给表增加列修改列删除列
alter table 表名 add column 新的列名 数据类型, add column 新的列名 数据类型;#增加列
alter table 表名 change column 原来的列名 新的列名 新的数据类型, change column 原来的列名 新的列名 新的数据类型; #修改列
alter table 表名 drop column 存在的列名,drop column 存在的列名;#删除列
三、删除表
drop table 表名;
总结:
DML: 3个 insert update delete DML是用来维护表数据的;(通过事务可以控制)
DDL: 3个 create alter drop DDL是用来维护表结构的(作为测试了解就可以);
如果是学oracle的朋友,也可以借鉴一下,关系型数据库都大差不差,今天的分享,就到这里了,欢迎大家批评指正。
测试小乐的口号是:一起分享,共同学习,共同进步。