总结一下我在数据库的基本操作(1)里面的内容。
1.显示当前有哪些数据库
show databases;
2.创建数据库
create database 数据库名;
3.使用数据库
use 数据库名;(当你准备在该数据库中创建表进行操作的时候会使用到该操作);
4.删除数据库、
drop database 数据库名;(这个操作比较危险,因为这会直接删除整个数据库,数据库中的信息会直接删除);
5.数值类型
6.字符串类型
7.日期类型
8.创建表
create table 表名(列名 类型,列名 类型...);
9.查看数据库中有哪些表
show tables;
10.查看表中的大致结构
desc 表名;
11.数据插入
这边的数据插入可以一次插入一次数据,也可以一次插入多次数据;
insert into 表名 values(想要插入的数据);
insert into 表名 values(想要插入的数据),(想要插入的数据),(想要插入的数据)...;
今天主要来讲解一下数据库中的增删改查:
前面已经说过了数据库中的表的数据的增加;
下面开始今天新的内容的整理以及讲解:
一.查询
1.1全列查询
代码是:select * from 表名;
通过该操作我们可以看到表里面的所有的数据。
但是平时尽量不要进行该操作,如果数据特别大的话,会把硬盘的IO吃满。
1.2指定列查询
就该数据来看,我们不需要所有人的成绩我们只需要看所有人的语文成绩。
代码为:select name,chinese from exam;
1.3查询字段为表达式
我们不仅仅可以查看,也可以对表中的数据进行修改,比如说,我们要看语文数学英语的成绩综合,代码如下:
select id,name,chinese+math+english from exam;
1.4别名
从上图我们可以看出,我们可以查总成绩,但是表示的太难看了,其实我们可以对她进行重新命名,比如说我们把名字改成total;
select id,name,english+math+chinese as total from exam;
1.5去重
我们将数据中重复的部分进行去重。
select distinct 列名 from 表名;
通过对比我们可以看出重复的部分以及被去重结束。
1.6排序
排序有两种情况,一种是升序asc,一种是降序desc,如果没有写asc或者desc的话,默认asc。
排序的代码为:select 列 from 表 order by 要以标准进行排序的列(asc/desc);
1.7条件查询
比较运算符:
逻辑运算符:
注:
1. WHERE条件可以使用表达式,但不能使用别名。
2. AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分
下面用几个例子来讲解一下代码:
基本查询
查询英语不及格的同学及英语成绩 ( < 60 )
and和or
查询语文成绩大于80分,且英语成绩大于80分的同学
范围查询
between...and...
查询英语成绩在 [80, 90] 分的同学及语文成绩
这个有两种查询方式,我们可以用上面的and来进行查询也可以使用between...and...;
通过对比我们可以看出,between..and..是闭区间。
in
模糊查询:LIKE (%是代表多个字符,_代表是一个字符)
%是代表在%所在的左边或者右边必须有一个或者多个字符,_就代表在_的位置肯定有一个字符,所以说如果%_所在的位置没有字符则算查询失败。
NULL 的查询:IS [NOT] NULL
这是用来判断该列是否有null;
1.8分列查询
当数据库中的数据过多时,我们可以对数据进行分页处理,比如一次看3个数据;
代码为:select * from 表名 limit 3;