MySQL数据操作及查询

数据表操作

创建数据表

mysql> create table user(
    -> id int ,
    -> name varchar(10) ,
    -> age int);

修改数据表

 alter table user add tel varchar(11) ;							//为数据表添加字段
  alter table 数据表 add 字段名 数据类型 ;
 
 alter table user change name realname varchar(5) ;//修改数据表字段
 
 alter table user alter column age set default 16 ;		//修改默认值
 
 alter table user drop tel ;											//删除字段

查看数据表

show tables;

删除数据表

drop table user ;

查看数据表结构

desc user ;

数据操作

增删改查

  • 插入数据
insert into user values (1 , 'zhangsan' , 17);		//直接插入一条数据3

insert into user values(2 , 'lisi' , 18) , (3 , 'wang' , 19) ;		//同时插入多条数据

insert into user (id , age) values (4 , 20) ;			//选择字段插入数据
  • 删除数据
delete from user where id = 1 ;			
delete from 表名 where 条件 ;

delete from user ;								//不加条件会删除表中所有数据
  • 修改数据
update user set age = 15 where id = 1 ;
update 表名 set 修改值 where 条件1 ;

select * from user ;			//不加条件会修改所有条目
  • 查询数据
select * from user ;		//* 表示所有字段

 select id , age from user ;			//查询所需字段

select * from user where id = 2 ;		//根据条件查询

SQL函数

数学函数、日期函数、字符串函数、聚合函数

数字函数

  • 求绝对值abs()
select abs(integral) from user where id = 5 ;
select abs(字段) from 表名 where 条件 ;
  • 向下取整floor()
select floor(integral) from user where id = 5 ;
select floor(字段) from 表名 where 条件 ;
  • 向上取整ceil()
select ceil(integral) from user where id = 5 ;

字符串函数

  • 添加数据insert(s1 , index , len , s2)

在查询的结果中对字符串内容进行添加数据的修改
s1是目标字符串,index是下标,下标从1开始,len是添加长度,s2是追加内容。

select insert(realname , 2 , 3 , 'insert' ) where id = 5 ;		//从2开始后3位的数据替换为整个insert
  • 将字母转换为大写upper()
select upper(realname) from user ;
  • 将字母转换为小写lower()
select lower(realname) from user ;
  • 返回s字符串的前len个字符left(s , len)
 select left(realname , 2) from user ;
  • 返回s字符串后len个字符right(s,len)
select right(realname , 2) from user ;
  • 从中间截取字符串,有index开始,长度为len,substring(s ,index , len)
select substring(realname , 2 , 3 )from user ;
  • 反转字符串reverse(s)
select reverse(realname) from user ;

日期函数

  • 获取当前日期curdate()
select curdate() ;
  • 获取当前时间curtime()
select curtime() ;
  • 获取当前日期+时间now()
select now() ;
  • 计算两个日期之间间隔天数datediff(date1 , date2)
 select datediff('2021-5-6' , '2020-4-3') ;
  • 计算date日期累加n天后的日期adddate(date , n)
select adddate('2020-11-1' , 100) ;
  • 计算date日期之前n天的日期subdate(date , n)
select subdate('2020-11-1' , 100) ;

聚合函数

  • 根据某个字段统计总记录数count()
select count(*) from user ;
  • 计算某个字段值的总和sum()
select sum(age) from user ;
  • 计算某个字段的平均值avg()
select avg(age) from user ;
  • 求某个字段的最大值max()
select max(age) from user ;
  • 求某个字段的最小值min()
select min(id) from user ;

条件查询

分组查询

select age from user group by age ;

排序查询

select * from user order by age ;					//默认升序

select * from user order by age desc ;		//降序

select * from user order by age asc ;			//升序

MySQL运算符

算是运算符

  • 执行运算符:加减乘除
select age +2 from user ;
  • 比较运算符:大于、小于、等于、不等于,1为true、0为false
select age > 20 from user ;
  • 逻辑运算符:与或非(&& ,|| , !),将两个比较运算符进行逻辑计算
select age > 20 && integral < 6 from user ;

特殊运算符

  • 判断是否为空值 is null
select integral is null from user ;
  • 判断值是否在区间之内 between
select age between 10 and 20 from user ;
  • 判断值是否在某个确定的集合中 in
select realname from user where age in (17 , 19 , 222) ;
  • 模糊查询 like
select * from user where realname like 'l%' ;			//查询以l开头的数据

select * from user where realname like '%n' ;			//查询以n结尾的数据

select * from user where realname like '%a%' ;		//查询包含a的数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值