mysql增删改查语句(例子分析常用方法)

1.mysql增修正查操作语句:

1)假如想在一个现已建好的表中增加一列,可以用以下代码:

altertablet1addcolumnaddrvarchar(20)notnull;

2)这条语句会向已有的表t1中参加一列,这一列在表的最终一列方位。假如我们希望增加在指定的一列,可以用:

altertablet1addcolumnaddrvarchar(20)notnullafteruser1;

留意,上面这个指令的意思是说增加addr列到user1这一列后边。假如想增加到第一列的话,可以用:

altertablet1addcolumnaddrvarchar(20)notnullfirst;

3)将表t1中,列名name改为firstname

altertablet1changenamefirstnamechar;

4)将表t1中,列名为def的列删去

altertablet1dropcolumndef;

5)仿制table表

createtable新表名(selectID,name,number,numberidfrom要仿制的表名);

6)查看表的各种数据类型

describe`t1`等同于desct1

7)查看表的已存数据

select*from表名或selectid,name,number,numberidfrom表名

8)增加数据

insertinto表名(ID,name,number,numberid)values(1,’mysql’,220,1),(2,’HTML’,160,1),(3,’python’,230,1);

9)删去数据

deletefrom表名where条件;

10)修正数据

update表名setnumberid=2where条件

11)降序摆放

selectid,name,number,numberidfrom表名orderbyiddesc;

12)增加别号

select(列名)’别号’,(列名)as’别号’from表名;

2.获取前10条数据:

select*fromt1limit10;

3.完全相同的数据,只更新第一条:

updatet4setId_O=1whereorderno=77895orderbyId_Odesclimit1;

4.修正表名(把t2修正成t3):

altertablet2renametot3;

5.把t3表中重复的数据删掉只剩下一行:

1)先查询重复的数据:

select*fromt3whereOrderDatein(selectOrderDatefromt3groupbyOrderDatehavingcount(*)>1);

2)把重复的数据去重先保存到一张临时表中:

createtabletmpselectdistinct*fromt3whereOrderDatein(selectOrderDatefromt3groupbyOrderDate,O_Idhavingcount(*)>1);

3)删去t3表中一切重复的数据:

deletefromt3whereOrderDatein(selectt.OrderDatefrom(selectOrderDatefromt3groupbyOrderDatehavingcount(*)>1)t);

4)把处理后没有重复数据的tmp表中值从头放入到t3表中:

insertintot3select*fromtmp;

6.在一个外部表中导入数据,由于某些原因第一次只导入了一部分,但很难判断具体方位,再接着导入一切数据后,怎样删去重复字段

1)增加自增列(first是在第一列增加):

altertablet1addcolumnidint(11)primarykeyauto_incrementfirst;

2)删去重复数据:

deletefromt1whereidnotin(selecttt.idfrom(selectmax(id)asidfromt1groupbyOrderDate,OrderPrice)astt);

3)删去自增列id

altertablet1dropcolumnid;

7.查询语句的灵敏使用:

1)查询全部的记载:

select*fromt1;

2)查第一条记载:

select*fromt1limit1;

3)查前面两条记载:

select*fromt1limit0,2;

4)查第二和第三条记载:

select*fromt1limit1,2;

5)查最终一条记载:

select*fromt1orderbyidDESClimit1;
图片[1]-mysql增删改查语句(例子分析常用方法)-小白之家,mysql例子分析常用方法,在运用mysql中的过程中,会遇到各种查询操作,包含什么跨表查询,进行分组求差,求和等等。

从前我记得写过最长一个sql语句长达三屏,那一次泪崩我了。废话不多说,直接上指令:

SQL中的一些界说:

DDL:数据界说言语,包含createalterdroptruncate指令;

DML:数据操作言语,包含insert,update,delete指令;

DQL:数据查询言语,也便是select指令;

SQL中的办法:

count(*),计数办法,其间*号能够换成某一列的姓名,该办法疏忽空值null,也便是说null不在计算之内;

sum(列名),求和办法,该办法疏忽空值null,也便是说null不在计算之内;

avg(列名),求平均值,该办法疏忽空值null,也便是说null不在计算之内;假如在计算过程中,会有空值,主张写成:avg(nvl(列名,0))意思便是说假如碰到该列为空,则赋值为0;

nvl(列名,值),假如该列为空,则取后边的值;

max(列名),求某一列的最大值,疏忽空值;

min(列名),求某一列的最小值,疏忽空值;

groupby列名,通过什么列分组,一般多用于计数,求和等;

groupby列名having,groupby能够单独运用,也能够和having组合运用,意思便是将groupby后的成果进行筛选,having后边跟的条件必需是组函数(sum\avg\count等);

initcap,将首字母转换成大写;

length(),取长度;

lpad(列名,长度,补齐字符),左补丁函数,便是将某一列假如不行长的话,左边补齐符号;

rpad(列名,长度,补齐字符),右补丁函数,和左补丁相反;

replace(原字符,新字符),字符替换函数;

subStr(),字符截取;

trim(列名),去除前后空格;

STR_TO_DATE(字符,日期格局),将字符转换成日期格局;

date_format(列名,字符格局),将日期转换成字符串;其间字符格局一般为:%Y-%m-%d%h:%i:%s,更多格局可在百度查找一下;

isnull/isnotnull,在数据库中假如查询为空或许不为空用此,而不是!=null

unionall,两个成果的并集,不去重,不排序;

union,两个成果的并集,去重,排序;

distinct,将成果去重,只能跟在select后边;

between……and……,该函数为一个闭区间;

join,将两个表连在一起,用于跨表查询;

join……on……在运用join的过程中,on后边是判别条件;

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论