mysql数据运算指令_Mysql数据库基本操作指令

SQL插入数据

查询表中所有数据:

select * from 表名;

查询指定的列:

select 列名1,列名2 from 表名;

例:select name,age from students

插入操作:

insert into 表名(列名1,列名2,.....)values (列值1,列值2,.....);

例:insert into students (id,name,age,email,score) values (2,'lisi',18,'zs@aliyun.com',null);

插入多条数据:

insert into students (id,name,age,email,score) values (2,'zhao',18,'zs@aliyun.com',null),(3,'qian',20,'zs@aliyun',null);

更新数据:

update 表名 set 列名1=列值1,列名2=列值2,.......where 列名=值;

例:update students set score=60;(把所有的学生成绩改为60分)

把姓名为zs的学生分数该为60:

update students set score=60 where name='zs';

把姓名为lisi的年龄修改为20和分数修改为70:

update students set age=20,score=70 where name='lisi';

把wangwu的年龄在原来的基础上加一岁:

update student set age=age+1 where name='wangwu';

修改数据库密码:

mysqladmin -u root -p password 123456

删除操作:如果不加过滤条件就是删除所有数据

delete from 表名 where 列名=列值;

例:delete from students where name='amliu';

删除所有数据:

truncate table 表名;

delete与truncate的区别:

delete可以删除指定数据也能删除所有数据而truncate只能删除所有数据

delete删除表中数据,表结构还在删除后数据还可以找回

truncate删除是把表直接删除然后创建一个新表,删除的数据不能找回,执行速度比delete快

条件查询:

between...and(值在什么范围内)    in(set);    is null;(为空)    is not null;(不为空)    and;(与)    or;(或)    not;(非)

查询性别为男并且年龄为20的学生记录:

select * from students where sex='男' and age=20;

查询学号为1001或者名字为zs的学生记录:

select * from students where id=1001 or name='zs';

查询学号为1001,1002,1003的记录:

select * from students where id in (1001,1002,1003);

模糊查询:

根据指定关键字查询数据,使用like关键字后跟通配符

_(表示任意一个字母)    %(表示任意0~n个字母)

查询姓名由五个字母构成,并且第五个字母为‘s’的学生记录:

select * from students where name like '____s';

查询姓名以‘m’开头的学生记录:

select * from students where name like 'm%';

使用正则表达式来进行查询:

关键字:regexp

基本语法:字段名 regexp '匹配方式'

9ac62a8f691c

查名字里面包含z或者s或者l的记录:

select * from students where name regexp '[zsl]';

查询姓名中字段以L开头以i结尾,并且中间两个字符的同学来自哪里:

select address from students where name regexp '^L..i$';

去除重复记录:

查询所有学生name信息,去除重复信息:

select distinct name from students;

9ac62a8f691c

把查询字段的结果进行运算,必须都要是数值型:

select *,字段1+字段2 from 表名;(查出所有内容,有添加一个新的列)

例:select *,age+score from students;

9ac62a8f691c

ifnull:把null转化为数值0

select *,age+ifnull(score,0) from score;

或者可以将新生成的一列起个新的名字:

select *,age+ifnull(z_id,0) as total from xuesheng;(其中可以把as省略掉)

排序(默认asc):

关键字:order by

asc(升序)    desc(降序)

select * from xuesheng order by age desc,id desc;

9ac62a8f691c

将birthday字段的位置改到sex字段面前:

alter table teacher modify birthday datatime after name;

注意:调换的字段要标注上类型,被调换的可不用标注类型

9ac62a8f691c

修改存储引擎

将teacher表的存储引擎更改为MyISAM类型:

alter table teacher engint=MyISAM;

聚合函数:

count():(统计指定不为null的记录行数)

max():(计算指定列的最大值)

min():(计算指定列的最小值)

sum():(计算指定列的数值和)

avg():(计算指定列的平均值)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值