为了账号安全,请及时绑定邮箱和手机立即绑定

mysql-数据库常用操作一看就会

标签:
MySQL

最近写J2EE实验,经常用到数据库。无奈上学期学的数据库,后来又一直没用, 现在都忘记了。搞得前几天一用到数据库就各种百度,很费时间,所以打算自己总结一下常用语句。

这篇文章说不定以后还会补充新的内容进来,现在先把近阶段用到的记录下来,不全也很正常。

我把我最开始学数据库一些不懂得地方,以及出过的各种小错误都标记一下,适合新手上路哦。当然,老手可能会觉得这些小错误很可笑...

1、前戏

使用数据库,这句话后面有没有 “ ; ” 都能执行成功。

use testdb

之后会出现

Database changed

说明使用数据库成功了。

2、建表语句

注意:之后所有的语句都围绕下面两个例子展开,本文章为连贯的一整套数据库操作流程,建议跟着下面流程实际操作一遍,收获会很多哦。

例子1:(建一个简单的学生表,学号为主键)

字段含义
studentID学号(主键)
username姓名
create table students(
studentID int not null,
username varchar(20) not null,
primary key(studentID));

最后一句后面没有 “ ,” ,不然出错.

例子2:(建成绩表,其中引入学生表id作为外键)

字段含义
studentID学号(外键)
score成绩
create table scores(
studentID int not null,
score int(2) not null,
CONSTRAINT `studentID` FOREIGN KEY (`studentID`) REFERENCES `students` (`studentID`)
);

注意到添加外键的语句为这样的:

CONSTRAINT FK_ID FOREIGN KEY (你的外键字段名) REFERENCES 外表表名(对应表的主键字段名);

3、插入语句

很简单,只举这一个例子,不多讲。(插入一个名叫gyh,学号为110的学生到学生表。插入学号为110,成绩为59的消息到成绩表)

insert into students values(110, 'gyh');insert into scores values(110, 59);

复制下面的代码到你的sql命令行中,以便下面查询可以看到结果:

insert into students values(111, 'erm');insert into students values(112, 'xton');insert into students values(113, 'baw');insert into students values(114, 'kais');insert into scores values(111, 76);insert into scores values(112, 88);insert into scores values(113, 65);insert into scores values(114, 90);

4、查询语句(重点)

4.1 单表简单查询
  • select * from 表名 where 表中的某个字段 = 要找的值;

  • 在结尾使用 oder by desc或asc 进行排序,desc为降序,asc为升序

  • 模糊查询,在要查的关键字前后加上 “%”

根据上面的用法,给出下面几个查询例子

在学生表中找学号为110的学生:

select * from students where studentID = 110;

结果:

webp

在成绩表中查找所有成绩并按成绩降序排列:

select * from scores order by score desc;

结果:

webp

在成绩表中找成绩在60到80之间的记录:

select * from scores where score >= 60 and score <= 80;

结果:

webp

在学生表中模糊查找含有 ‘a’ 的姓名的学生:

select * from students where username like '%a%';

结果:

4.2 多表联合查询(重)

可以看到上面查找的成绩表中没有姓名字段,查找学生表中又没有该学生的成绩,所以,接下来我们来联合查询显示这三个字段。

将我们需要的三个字段 select 出来,然后查询条件为学生表id等于成绩表id,最后我还做了升序排列。

select scores.studentID,students.username,scores.score from scores inner join students on scores.studentID=students.studentID order by score asc;

结果:

webp

写在后面:查询操作比较常用也比较重要。这里只写下我用到过的,对于一些很复杂的可能我也不会,不过上面这些语句应该够用了。

5、删除

  • 删除表:drop table 表名;

  • 删除数据:delete from 表名 where 条件;

例如:

delete from scores where studentID = 114;

这里我就不演示了,不放结果截图了。

6、更新

简单,不多说。看例子:

update scores set score = 80 where studentID between 111 and 113;



作者:棒棒小糖
链接:https://www.jianshu.com/p/7c217ecff65c


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消