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;

结果:

7c217ecff65c

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

select * from scores order by score desc;

结果:

7c217ecff65c

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

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

结果:

7c217ecff65c

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

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

结果:

7c217ecff65c

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;

结果:

7c217ecff65c

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

5、删除

删除表:drop table 表名;

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

例如:

delete from scores where studentID = 114;

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

6、更新

简单,不多说。看例子:

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值