MySql 表操作指令小全与案例


注:本篇博客为 MySql 表操作指令1 ,若要学习 MySql 基本指令,可通过作者 博客 进行学习;若要进一步练习,可在学习完 操作2 后,根据 博客 MySql 实例 进行练习!

增删查改~简单指令

创建表

创建数据库的关键字主要为 create database ,具体如下

create database dbname; -- dbname 指的是数据库名称
create database if not exists dbname;  --若不存在则创建

创建表的关键字主要为 create table ,比如创建一个带有学号、姓名、年龄、性别、身高的学生表,如下

create table if not exists student(
	snum int comment '学号',
	name varchar(32) comment '姓名',
	age int comment '年龄',
	sex varchar(1) comment '性别',
	heig int comment '身高'
);

结果如下
在这里插入图片描述

插入数据

向表格插入数据有两种方法,即 单行插入多行插入 ,其所用关键字为 insert ,具体如下

单行插入

	insert into student values(1101, '龙大大', 18, '男', 175);
	insert into student(name, snum, sex)value('贝贝',1201,'女'); -- 指定插入字段

在这里插入图片描述
注:其中查看表格内容的语句 select * from tbname; ,在后面的内容中将进行讲解,其中 tbname 指的是表格名称!

多行插入

	insert into student values(1102, '龙2大', 28, '男', 175),
		(1103, '龙3大', 38, '男', 185);

在这里插入图片描述

修改数据

修改表格内容的关键字为 update ,具体如下

update tbname set name=xxxxxx,sex=xxxx; -- 修改表中所有人的对应数据,其中 tbname 指的是表名称

上述语句会修改表中所有人的对应内容,故为可实现指定个人数据进行修改的目标,常配合条件指令 where 进行处理(有关 where 的操作将在后面内容中进行讲述),因此上述语句可变为

update tbname set name=xxxxxx where name2=xxx; -- 其中name为要改的数据名称,name2则为被改目标的索引

例如修改 student 表中 贝贝 的年龄何身高

update student set age = 17, heig = 169 where snum = 1201; -- where snum = 1201 的作用为找到学号为1201的学生数据

结果如下
在这里插入图片描述

删除数据

删除数据所用关键字为 delete ,具体如下

删除表中所有数据:
	delete from tbname; 
删除表中name为xxxx的数据:
	delete from tbname where name=xxxx; 

例如
删除名为 龙3大 的数据

delete from student where name='龙3大';

结果为
在这里插入图片描述
删除表中所有数据

delete from student;

结果为
在这里插入图片描述

查询

默认全列:  select * from tbname; 

指定列查询: select name1,name2... from tbname;  显示name1与name2列的内容
		   select name1+name2... from tbname;   将name1与name2列的内容进行相加并显示
		   
起别名:as
	select name1+name2...  as xx from tbname;  将name1+name2...的和起别名为 xx 进行查看,但xx并不会存在原表里,其中as可忽略
	如 select name1+name2...  as xx,name3 from tbname;  既起了别名,又展示了name3
		
去重:distinct
	select distinct name1,name2 from tbname;  如此是以多列一起进行去重
	
排序:order by
	select * from tbname order by name desc;  按照name的降序进行排列。desc表示为降序,无desc时默认为升序(ascselect * from tbname order by name1 desc,name2 asc; 以name1降序,name2升序排列
		
分页查询:limit, limit m,n:表示从第m行开始一共是n行,注意第m行是从0开始排的。
	select * from tbname limit 3;  查看前3行数据,随机
	select * from tbname order by name desc limit 3;  以name为降序查看前3行数据
	select * from tbname order by name desc limit 3 offset 0;  以name为降序查看从0行开始的前3行数据   offset为偏移量

条件查询:where    此处有很多其他操作
		select * from tbname where name1 = xxx;  查询name1为xxx的信息
	关系运算符:
		比较:  >>=<<== NULL不安全会报错、 <=>等于NULL安全不会报错 、!=<>不等于
			(注:此处可见下面的表格)
			
		空值:is nullis not nullselect * from tbname where name is null;
		  
		范围: between ... and ...
			  select * from tbname where name1 between xx and xxx;
				
		子集匹配:in(子集)
			  select * from tbname where name in(x1,x2,x3);
				
		模糊匹配:like
			  select * from tbname where name like '%xxx';  % 匹配多个任意字符(包括0个)
			  select * from tbname where name like '_xxx';  _ 匹配严格的一个任意字符
			
	逻辑运算符:
		与:双目,and 连接两个比较条件  --- 两者同为真则结果为真
			select * from tbname where name1 >= x1 and name2 < x2;
		或:双目,or 连接两个比较条件  --- 两者同为假则结果为假
			select * from tbname where name1 >= x1 or name2 < x2;
		非:单目,not 针对单个比较条件  --- 条件为假则结果为真
			select * from tbname where not name1 >= x1;
			

比较运算符

运算符说明
>,>=,<,<=大于,大于等于,小于,小于等于
=等于,NULL 不安全,如 NULL = NULL 的结果是 NULL
<=>等于,NULL 安全,如 NULL <=> NULL 的结果是 true,即与 NULL 不会报错
!=,<>不等于
between a and b范围匹配,[a,b],若 a <= value <= b,返回true
in(op1,op2…)如果是 op 中的任意一个,返回 true
is NULL是 NULL
is not NULL不是 NULL
like模糊匹配,% 表示任意多个(包括0个)任意字符, _ 表示任意一个字符

逻辑运算符

运算符说明
and多个条件必须都为 true ,结果才是 true
or任意一个条件为 true,结果为 true
not条件为 true,结果为 false

  1. where 条件可以使用表达式,但不能使用别名。
  2. and 的优先级高于 or,在同时使用时,需要使用小括号 () 包裹优先执行的部分

以上就是本篇博客主要内容!

侵权删~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值