推广 热搜:   企业  系统  中国  行业  公司  教师  设备    服务 

一篇文章 快速掌握数据库增删改查

   日期:2024-11-17     浏览:89    移动:http://xiaoguoguo.dbeile.cn/mobile/quote/980.html

在数据库中创建三个表(学生 老师  班级

一篇文章 快速掌握数据库增删改查

create table students( id int auto_increment primary key, name varchar(20), age int, height float, gender char(10), cls_id int, is_delete int );

create table teachers( id int primary key, name varchar(20) );

create table classes( id int primary key, teacher_id int, cls_content varchar(100), cls_date datetime, name varchar(50) );

一篇文章 快速掌握数据库增删改查

DML是Data Manipulation Language英文缩写,数据操作语言

语法格式

INSERT [INTO]

表名 [字段名]

VALUES (值列表);

示例 向学生表中插入一行数据

第一种

insert into students (id,name,age,height,gender,cls_id,is_delete)

values (0,'小明',18,180.00,2,1,0)

第二种

insert into students values (0,'小明',18,180.00,2,1,0)

一篇文章 快速掌握数据库增删改查

向学生表中插入多行数据:

insert into students (id,name,age,height,gender,cls_id,is_delete)

values (2,'佩奇',8,130.00,2,1,0),(3,'超人',36,180.00,1,2,0);

注意:为避免表结构发生变化引发错误,建议插入数据时写明具体字段名

一篇文章 快速掌握数据库增删改查

2.2 update更新数据

UPDATE 表名 SET 字段1=值1,

字段2=值2,…,字段n=值n

[WHERe 条件];

示例: 将所有学生的姓名改成邓超

UPDATE students SET name= '邓超';

一篇文章 快速掌握数据库增删改查

示例: 将id是1001学生的姓名改成邓超,年龄改为30

update students set name='邓超',age=30 where id=1001;

注意:1、更新多列数据使用逗号隔开;2、添加条件限制

回顾昨天讲了三个删除

删除库 drop database hqyj;

删除表 drop table students;

删除字段 alter table students drop id;

语法格式

DELETE FROM 表名

[WHERe条件];

示例:删除学生表中的数据【表还在】

DELETe FROM students;

示例:删除id是1的学生的数据

DELETe FROM students where id = 1;

一篇文章 快速掌握数据库增删改查

语法格式

TRUNCATE TABLE 表名;

示例:删除学生表中的数据【清空数据,表还在】

TRUNCATE TABLE students;

示例:删除id是1的学生的数据【报错,不能加条件】

TRUNCATE TABLE students where id = 1;

DQL是Data Qurey Language英文缩写,数据查询语言

常用语句

基本查询语句、条件查询、多条件查询、模糊查询、分组查询、连接查询、子查询

关键字

AS、运算符、IN、BETWEEN AND、DISTINCT、ORDER BY、LIMIT

语法格式

SELECt 列名 FROM 表名;

示例:查询所有学生信息

select * from students;

提问:查询所有学生的姓名,性别

select name,gender from students;

算术运算符 + - * / %

关系运算符 > < = <> >=

赋值运算符 =

逻辑运算符 and or not && || !

语法格式

SELECt 列名

FROM 表名

WHERe 条件

示例:查询id为1学生的姓名,性别

select name,gender from students where id = 1;

提问:查询学生'邓超'的信息

select * from students where name = '邓超';

语法格式

SELECt 列名

FROM 表名

WHERe 条件 运算符 条件

示例:查询id=1或者id=3学生的姓名,性别

select name,gender from students where id = 1 or id =3;

提问:查询性别为女并且在三班的学生的信息

select * from students where gender='女' and cls_id=3;

模糊查询是使用SQL 通配符替代一个或多个字符的条件查询。

语法格式

SELECt 列名

FROM 表名

WHERe 字段

LIKE '值'

示例:查询名字里面包含'小'的学生的信息

select * from students where name like '小%'

语法格式

SELECt 列名

FROM 表名

WHERe 字段

IN (值1,值2,....);

示例:查询id为1,,5,6,10的学生的信息

select * from students where id in (1,5,6,10);

还有 NOT IN查询

语法格式

SELECt 列名

FROM 表名

WHERe 字段

BETWEEN 值1 and 值2;

示例:查询id为8-10的学生的信息

select * from students where id between 8 and 10;

语法格式

SELECt DISTINCT

字段名1,字段名2......

FROM 表名;

示例:查询性别有几种分类

select distinct gender from students;

示例:查询有几个班级

select distinct cls_id from students;

语法格式

SELECt

FROM

[WHERe ]

[ORDER BY

[ASC 或 DESC]];

示例:将学生的身高按照升序排列

select * from students order by height;

示例:将学生的身高按照降序排列

select * from students order by height desc;

语法格式

SELECt

FROM

[WHERe ]

[ORDER BY [ASC 或 DESC]]

[LIMIT ];

示例:只看前2条学生信息

select * from students limit 2;

观察上面三张表,如何查看students表中cls_id所代表的的班级名称是什么?——使用连接查询

连接查询是将多张表中记录按照指定的条件进行连接的查询方式

注意:连接查询涉及到两个表以上,在查询的时候至少要有一个必备的连接条件,这个必备的条件就是两个表共有的那个字段相等,而且这个字段一定在一个表里是主键,在另一个表里是外健

内连接是返回连接表中符合连接条件记录的连接查询。

包括:显式内连接、隐式内连接

4.1.1 显示内连接查询

语法格式

SELECt 字段 FROM 表1

INNER JOIN 表2

ON 连接条件

WHERe 条件

示例:查看学生所在班级

select s.name,c.name from students s inner join classes c on s.cls_id=c.id;

提问:查看学生所在班级并且班级是1

4.1.2 隐式内连接查询

语法格式

SELECt 字段

FROM 表1,表2

WHERe 表1.条件=表2.条件

示例:查看学生所在班级

select s.name as '名字',c.name as '班级' from students s, classes c where s.cls_id = c.id;

4.2.1左外连接查询

左外连接是以左表为基表,返回左表中所有记录及连接表中符合条件的记录的外连接。

语法格式

SELECt 字段 FROM 表1

LEFT [outer] JOIN 表2

ON 连接条件

WHERe 条件

示例:查看老师所在班级

select c.name,t.name from classes c left join teachers t on c.teacher_id = t.id;

4.2.2 右外连接查询

右外连接是以右表为基表,返回右表中所有记录及连接表中符合条件的记录的外连接。

语法格式

SELECt 字段 FROM 表1

RIGHT [outer] JOIN 表2

ON 连接条件

WHERe 条件

示例:查看老师所在班级

select c.name,t.name from classes c right join teachers t on c.teacher_id = t.id;

如何查看班级同学的平均身高?——使用聚合函数

聚合函数是可以对一组值进行计算,并返回单个值的函数。

语法格式

SELECt 聚合函数

FROM 表名

[WHERe 条件]

[GROUP BY 聚合函数]

  1. count()-计数
  2. sum()-求和
  3. max()-最大值
  4. min()-最小值
  5. avg()-平均值

示例:查询班级学生的平均身高

select avg(height) as '平均身高' from students;

示例:查询班级有多少同学

select count(*) as '学生总数' from students;

如何只查询比刘德华高的同一班的学生信息?——子查询

定义:子查询是在一个查询的内部包括另一个查询的查询方式

示例:查看刘德华同学的所在班级的所有同学

select * from students where cls_id = (select cls_id from students where name = '刘德华');

示例:查看赵老师所带的学生信息

select * from students where cls_id = any(select id from classes where teacher_id = (select id from teachers where name='赵老师'));

示例:查看学生所在班级

select * from students where cls_id >= all(select id from classes where teacher_id = (select id from teachers where name='赵老师'));

示例:删除表

DROp TABLE IF EXISTS temp;

示例:查看王老师所在班级

select * from classes where exists (select * from teachers where name='王老师');

示例:创建教师表

create table IF NOT EXISTS teachers(

id int primary key,

name varchar(20)

);

避免重复创建

本文地址:http://xiaoguoguo.dbeile.cn/quote/980.html    多贝乐 http://xiaoguoguo.dbeile.cn/ , 查看更多

特别提示:本信息由相关企业自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关行业动态
推荐行业动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2023001713号