暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

软件测试工程师必须掌握的MySQL数据库基本知识

西安川石 2020-05-29
636


创建数据库

CREATE DATABASE database_name


删除数据库

DROP DATABASE database_name


选择数据库

USE database_name


数据类型

(1)数值类型  

(2)日期和时间类型  

(3)字符串类型


创建数据表

CREATE TABLE table_name (column_name column_type)


删除数据表

DROP TABLE table_name


更新数据表信息

(1)添加表字段  

ALTERTABLEtable_nameADDnew_columnDATATYPE  

使用FIRST关键字可以将新增列的顺序调整至数据表的第一列  

ALTERTABLEtable_nameADDnew_columnDATATYPEFIRST  

使用AFTER关键字可以将新增列调整至数据表的指定列之后  

ALTERTABLEtable_nameADDnew_columnDATATYPEAFTERold_column  

(2)删除表字段  

ALTERTABLEtable_nameDROPold_column  

(3)修改表字段类型  

ALTERTABLEtable_nameMODIFYcolumn_nameNEW_DATATYPE  

(4)修改字段名称  

ALTERTABLEtable_nameCHANGEold_column_namenew_column_nameDATATYPE


插入数据

INSERTINTOtable_name(column1,column2,column3...columnN)  VALUES  (value1,value2,value3...valueN);  


查询数据

SELECTcolumn1,column2,column3...columnNFROMtable_name  

(1)使用*可以替代字段名,SELECT语句会返回表的所有字段  

例:SELECT*FROMtable_name  

(2)可以使用WHERE语句来包含任何条件  

例:SELECT*FROMtable_nameWHEREcolumn=1  

(3)可以使用LIMIT属性设定返回的记录数  

例:返回查询结果的前三条记录  

SELECT*FROMtable_nameLIMIT3  

例:返回查询结果的第三条记录  

SELECT*FROMtable_nameLIMIT2,1(2指的是第几条数据(从0开始计数),1指的是从2开始返回几条数据)  

(4)可以使用OFFSET指定开始查询的偏移量,默认情况下偏移量为0  

例:SELECT*FROMtable_nameLIMIT2OFFSET3等于SELECT*FROMtable_nameLIMIT2,3


更新数据

UPDATEtable_nameSETcolumn1=value1,column2=value2  

WHEREcondition  


删除数据

DELECEFROMtable_name  WHEREcondition  


LIKE句子

LIKE子句中使用%号来表示任意字符,其的效果类似正则表达式中的*,如果没有使用%,那么LIKE的效果等价于=  SELECT*FROMtable_name  WHEREcolumn1LIKE%condtion%  


UNION

SELECTcolumn1,column2,column3...columnNFROMtable_a  

[WHEREcondition]  

UNION[ALL|DISTINCT]  

SELECTcolumn1,column2,column3...columnNFROMtable_b  

[WHEREcondition]  

UNION作用的连接两个查询结果集  

DISTINCT的作用是对两个结果集进行去重处理,默认情况下已经是DISTINCT的结果了  

AL作用的不对两个结果集进行去重处理  


ORDER BY

SELECT*FROMtable_name  

ORDERBYcolumn1[ASC|DESC]  

ASC:将结果集按column1升序排列,默认情况下使用升序排序  

DESC:将结果集按column1降序排列  


GROUP BY

把数据按照指定列(可以是一列或者多列)进行分组,通常和计算函数COUNT()还有SUM(),AVG()等求值函数一起使用  

例:根据column1将数据进行分组,并且统计每种数据的记录数  

SELECTcolumn1,COUNT(*)FROMtable_name  

GROUPBYcolumn1  

WITHROLLUP可以将GROUPBY的统计结果集基础上再做相同的统计(SUM,AVG....) 


INNER JOIN

INNER JOIN被称为内连接或者等值连接,获取两个表中字段匹配关系的记录

例:SELECTtable1.column1,table1.column1,table2.column3FROMtable1  

INNERJOINtable2  

ONcondition


LEFT JOIN

LEFT JOIN被称为左连接,获取左边所有记录,右表没有的记录不为NULL

例:SELECTtable1.column1,table1.column2,table2.column3FROMtable1  

LEFTJOINtable2  

ONcondition  


RIGHT JOIN

RIGHT JOIN被称为右连接,获取右边所有数据,左表没有的记录不为NULL

例:SELECTtable1.column1,table2.column2,table2.column3FROMtable1  

RIGHTJOINtable2  

ONcondition  

腾讯课堂MySQL数据库课程限时免费

https://ke.qq.com/course/2616482

本文为川石学院原创,未经允许不得转载!加老师微信13691729932随时获取更多课程资料。

点击“阅读原文”

文章转载自西安川石,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论