MySQL基础篇(基础语法,增删查改 )

9 篇文章 0 订阅
1 篇文章 0 订阅

hello大家好,本篇文章给大家带来的是MySQL数据的基础语法知识,包括增删查改,创建表和数据库等等。
大家如果感兴趣的话记得点击关注,下次不会迷路哟!

基本语句

数据库建立
create database if not exists  db_name;

(添加 if exisits 表示如果存在就删除, 没有就不做任何操作 /if not exists 表示如果不存在创建,有就不做任何操作)

使用utf8mb4字符集的数据库
create database if not exists  name character set utf8mb4;
删除数据库
drop database if not exists db_name;
创建表
create table table_name;
查看表和结构
desc table_name;
删除表
drop table table_name;
单行数据的插入
insert into table_name values(100,1000,'名字',null);
多行数据的插入
insert into tbale_name (id,sn,name)values
(101,2001,'名字')(102,2002,'名字');
查询全部信息
select * from table_name;
查询部分信息
select id,name from tbale_name;
查询字段为表达式
select id,name, english,10 from table_name;
select id,name, english+10 from table_name;
select id,name,english+math+chinese from table_name;

第一步的操作会创建10的常量列在后面的显示

引用别名
select id,english+math+chinese 成绩 from table_name;
select id,english+math+chinese as 成绩 from table_name;

两者效果一样 都是将 english+math+chinese 引用为别名 成绩

去重语句
select distinct math from table_name;

distinct进行去重,可在一列进行去重(比如数据中有重复的22 会去除掉多于的22 ,留下一个22)也可以在两列进行去重 如下所示

select distinct math,english from table_name;

但是前提条件就是在两列中存在相同的元素 ,否则就无法去重如以下所示

select distinct math,name from table_name;
排序语句

– asc 为升序 (默认值)

select name,math from table_name order by math ; 
select name,math from table_name order by math asc; 

– desc 为降序

select name,math from table_name order by math desc;

关键字 order by,可以指定多个字段进行排序,但是会先按照第一个字段进行排序,如果第一个字段的内容相同,接着才按照第二个字段进行排序。所以只有第一个字段相同才能进行第二个字段的排序。

select name,math from table_name order by math,chinese desc;
where使用的条件过滤

表示查询成绩在60之下

select name,math from table_name where math<60 ;

表示查询xxx

select name,math from table_name where name='xxx' ;

表示查询成绩在70-80之间。在某个字段 between 起始值 and 终止值 起始值<=某个字段<=终止值

select name,math from table_name where math between 70 and 80 ;

字段的条件筛选

select *from table_name where chinese>50 or math<70 and english >70;

优先级(and>or) 先满足chinese>50 and english >70 如果不满足才进行math<70 and english >70 and和&&类似 or和||类似 is not null 和java中的 != null 类似

in(值1,值2…)
select name, math from exam_result where math in (58, 59, 98, 99);

字段X in(值1,值2…)每一条数据,只要X字段在in后面多个值中一个,就可以显示。

模糊查询 like

– 查询到孙悟空、孙权(%表示匹配到多个字符 )

select name from exam_result where name like '孙%';

– 查询到孙权 (_表示匹配一个字符)

select name from exam_result where name like'孙_';
limit 分页查询

**limit n;**表示 从0开始,筛选n-1条数据 (总共n条数据)

select*from exam_result limit 5;

**limit s,n **表示从下标s(算上s)开始取n条数据

select*from exam_result limit 1,5

limit n offset s; 表示从s开始筛选n条数据(相比较第二种方法推荐使用这种方法,记忆可记忆第二种方法)

selevt*from exam_result order by id limit 3 offset 6(下标);
修改(updata)

–修改语句

update table_name set math=80 where name='abc';

–多个字段修改

UPDATE exam_result SET math = 60, chinese = 70 WHERE name = '曹孟德';

–支持模糊查询修改

UPDATE exam_result SET math = 60, chinese = 70 WHERE name = '%悟%';

– 将总成绩倒数前三的 3 位同学的数学成绩加上 30 分

UPDATE exam_result SET math = math + 30 ORDER BY chinese + math + english LIMIT 3;

– 将所有同学的语文成绩更新为原来的 2 倍

UPDATE exam_result SET chinese = chinese * 2;
删除(delete)
delete from  table_name where name='abc' ;
时间类型

创建表

create table data_test (start datatime );

create table data_test2 (start timestamp );

insert into table_name values('2022-5-21');

insert into table_name values('2022-5-21 15:42:41');

查询

select * from table_name where start<'2022-5-22'

不要使用这样的形式

select * from table_name where start<999999

以上就是本次的基础知识篇了,后续还有提高篇以及JDBC操作篇,大家可以关注哟。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值