这节我们来讲解Mysql数据库对表的增删改查(CRUD)。CRUD也就是增加(Create),查询(Retrieve),更新(Update),删除(Delete)四个单词的首字母大写。这也是MYSQL最核心的部分。下面我们来看新增/插入数据:
insert into 表名 values(值,值,值....);
我们首先创建好了一个数据表,利用了上节的知识创建了一个student表:
现在我们插入数据:
可以看到我们已经成功往student这个表里插入了数据。这里插入的数据一定要一一对应,不然很可能会出错。insert插入还有一些变种,比如说在插入的时候,指定某列插入,或者一次性插入多个记录等。下面我们实践一下:
这里我删掉了之前的student表重新创建了一个三个记录的student表。假设我们现在只想插入后两列那么语法是这样的:
我们可以随意指定插入的列,然后在对应位置插入值。想要看到我们插入的数据就需要用到我们的查询语句:
select * from 表名;
可以看到我们刚刚插入的数据已经在表里了。没填的id会自动填写NULL。下面我们接着看如何一次性插入多个记录呢?
可以看到下面的提示两行记录收到影响,证明我们的插入是成功的。在看看此时的表中的数据:
那么时间数据是如何插入的呢?我们首先创建一个新表:
数据类型我们选用datetime,接着时间的格式如上,这样MYSQL就会把它识别为时间。
那么像上面来说是我们手动输入的,在实际中可能需要时时时间,也就是当前时刻,那么我们不可能手动来给每个数据插入时间,因此sql提供了一个特殊的函数:now()可以获取到当前时间的日期。测试一下:
可以看到没有任何问题。上述就是我们的插入语句。接下来我们就来看查找操作,我们刚才其实已经接触到了查找。查找操作分几类:
1.全列查询,查找整个表所有行所有列;select * from 表名;
2.指定列查询,select 列,列... from 表名;
3. 表达式查询(进行列和列之间的运算)这里我先创建了一个学生成绩表:
我们现在想让查询英语成绩并且让英语成绩全部加10分,那么我们就可以用表达式来操作:
可以看到英语成绩全部加了10。我们还可以用表达式算出总成绩:
4.查询的时指定别名。
5.去重查询,distinct针对指定列去去重,把重复的列干掉
现在我多加一条重复语句:
接着我们去重查询一下:
可以看到78只出现了一次。我们原先的表里是有2个78的。
6.按照查询结果排序 order by 指定某些列进行排序,排序的顺序可能升序也可能是降序的。
我们试验一下:
我们看到math已经按照升序排列了。如果我们想要它降序排序需要加上一个关键字desc 。
这里的desc不是我们前面说的描述,它的全称是descend,下降的意思。 也可以用asc关键字来表示升序排序,省略不写的话默认就是升序的。
7.条件查询
条件查询就是用运算符来做匹配,有比较运算符,逻辑运算符。比较运算符网上有很多表格来描述这里贴出逻辑运算符:
我们可以通过where子句,搭配上条件表达式就可以完成条件查询。举个例子,我们想查询英语成绩低于60的我们可以这样写:
更多的条件搭配可以尝试一下。