MySQL数据库简单的增删改查语句

创建数据库:
create database 数据库名;
使用数据库:
use 数据库名;
创建表:
create table 表名 (字段1 数据类型,字段2 数据类型…);
删除指定表:
drop table 表名;

往指定表中添加数据:
insert into 表名 (字段1,字段2,…)values(值1,值2,…) 要求其中值和字段要相对应
插入多条数据:
insert into 表名(字段1,字段2,…)values(值1,值2,…),(值1,值2,…)…;
插入部分数据:
insert into 表名 set 字段1 = 值1,字段2 = 值2…;
插入数据时省略字段名:
insert into 表名 values(值1,值2,…) 要求每一个字段都有对应的值

从指定表中删除数据:
delete from 表名 where 条件;

从指定表中查询部分字段:
select 字段1,字段2,…from 表名 [where 条件];
从指定表中查询所有字段:
select * from 表名;

查询中可以使用别名:
select 字段名 as 别名 from 表名 [where 条件];
或者 空格隔开:
select 字段名 别名 from 表名 [where 条件];

查询中去重:
select distinct 某字段 from 表名;
**注意:**distinct后只能跟一个字段名,不能跟多个!!!

+运算符:
作用:做加法运算
select 数值 + 数值 ;直接运算
select 字符 + 数值;先试图将字符转换成数值,如果转换成功,则继续运算,否则转换成0再做运算。
select null + 值;结果都为null

部分包含运算符的查询:
查询中可能遇到的逻辑运算符:
与(and)、或(or)、非(not)
与操作:
select * from 表名 where 条件1 and 条件2;
或操作:
select * from 表名 where 条件1 or 条件2;

查询中可能会用的条件运算符:
<、>、=、!=、>=、<=、<>
查询条件为大于的情况
select * from 表名 where 某字段 > 某数值;
查询条件为小于的情况
select * from 表名 where 某字段 < 某数值;
查询条件为不等于的情况
select * from 表名 where 某字段 != 某数值;
select * from 表名 where 某字段 <> 某数值;
查询条件为大于等于的情况
select * from 表名 where 某字段 >= 某数值;
查询条件为小于等于的情况
select * from 表名 where 某字段 <=某数值;

模糊查询:
like、between … and、in、is null、is not null

like一般与通配符一起使用,及%和_俩个通配符
%表示无数量限制,_表示匹配一个
查询某字段中含有某字符的数据
select 某字段 from 表名 where 某字段 like ‘%某字符%’;
查询某字段中第二个字符为某字符的数据
select 某字段 from 表名 where 某字段 like ‘_某字符%’;

特殊情况:
如果使用通配符进行模糊查询时,某字段中包含通_或者%:
上述情况则需要使用转义,可以随便指定一个字符或者符号位转义符号,通过escape进行转义
查询表中某个字段中第二个字符为’'的数据:
select * from 表名 where 某字段 like '
KaTeX parse error: Expected group after '_' at position 1: _̲%' escape '’;

between … and:
查询表中某字段的值在值1到值2之间的信息:
select * from 表名 where 某字段 between 值1 and 值2;
注意事项:
1.使用between…and可以提高简洁性
2.包含俩个临界值
3.不能交换位置,只能小到大

in:
查询表中某字段是值1、值2、值3中的全部数据:
select * from 表名 where 某字段 in (‘值1’,‘值2’,‘值3’);
即判断某字段是否属于in列表中的某一项,如果属于则查询对应的数据,提高了语句简洁度,列表中的值必须一致或兼容,并且不能使用通配符。

is null、is not null:
如果查询字段为null的数据:
select * from 表名 where 字段 is null;
如果是查询非null的数据:
select * from 表名 where 字段 is not null;

安全等于 <=>
安全等于后可以加null;

is null仅可以判断null值,可读性好
<=>既可以判断null值,又可以判断普通的数值,可读性差

如果查询的结果显示时,需要字段之间的连接:
select concat(“字段1”,“字段2”,“字段3”) as “新名称” from 表名;

排序查询:
select * from 表名 [where 条件] order by 排序字段 [asc|desc]
order by是排序,asc为升序、desc为降序,默认为升序。

可以对多个字段进行排序:
select * from 表名 order by 字段1 asc,字段2 desc;
先升序排列字段1,如果有数值相同的数据,则按字段2降序排列

order by子可以支持单字段、多字段、表达式、函数、别名。
order by子句一般放在查询语句的最后面,limit子句除外。

发布了40 篇原创文章 · 获赞 2 · 访问量 3393

猜你喜欢

转载自blog.csdn.net/BEYONDmonster/article/details/101368459