当前位置: 首页 > wzjs >正文

四川省建设工程招标网官网专业优化网站排名

四川省建设工程招标网官网,专业优化网站排名,哈尔滨建设发展集团,如何去掉wordpress文章标题与内容之间的日期和作者SQL语句 1. 前言 1.1 引言 在实际的 Web 开发中,为了让应用程序的职责更加单一、便于维护,我们通常将 Web 应用分为 Controller、Service、Dao 三层。早期的案例中,数据可能存储在 txt 文件中,但在企业开发中,为了高…

SQL语句

1. 前言

1.1 引言

在实际的 Web 开发中,为了让应用程序的职责更加单一、便于维护,我们通常将 Web 应用分为 Controller、Service、Dao 三层。早期的案例中,数据可能存储在 txt 文件中,但在企业开发中,为了高效管理数据,必然会使用数据库。程序员通过发送 SQL 语句给数据库管理系统(DBMS),实现数据的创建、查询、修改和删除操作。

1.2 相关

  • 数据库(Database): 用于存储和管理数据的仓库,如电商网站、OA 系统中的数据均存储在数据库中。
  • 数据库管理系统(DBMS): 用于操作和管理数据库的软件,通过该软件可对数据库中的数据进行各种操作。
  • SQL(Structured Query Language): 结构化查询语言,用于定义和操作关系型数据库。

小测试题:

  1. 请简述数据库、DBMS 和 SQL 的概念及它们之间的关系。
  2. 为什么在企业开发中通常不会使用 txt 文件存储数据?

2. MySQL概述

MySQL 是当前互联网公司中使用最广泛的开源关系型数据库,主要分为商业版和社区版。本文中我们主要以 MySQL 社区版为例,版本号可参考 8.0.34。

2.1 安装与连接

MySQL 的安装可以通过官网下载安装包进行,安装后可使用以下命令连接数据库服务器:


mysql -u用户名 -p密

若需要连接远程服务器,可加入 -h-P 参数。对于安全性考虑,建议在提示后输入密码而不是在命令行直接写明文密码。

小测试题:

  1. 连接本地 MySQL 服务器和远程 MySQL 服务器的命令分别如何书写?
  2. 为什么不建议在命令行中直接输入明文密码?

2.2 数据模型

MySQL 是基于二维表进行数据存储的关系型数据库。一个数据库包含多个数据表,每张表由行和列构成。操作步骤通常为:

  1. 创建数据库
  2. 在数据库下创建数据表
  3. 向表中插入数据

小测试题:

  1. 什么是关系型数据库?
  2. 描述数据库中数据从创建到存储的基本流程。

3. SQL语句详解

SQL 语句大致可分为四类:DDL、DML、DQL 和 DCL。下面主要介绍前三种常用语句类型,并结合实例进行说明。

3.1 DDL语句(数据定义语言)

DDL 用于定义数据库和数据表的结构,包括创建、查询、修改和删除操作。

3.1.1 数据库操作

  • 查询所有数据库:

    
    show databases;
  • 查询当前数据库:

    
    select database();
  • 创建数据库:

    
    create database if not exists itcast default charset utf8mb4;
  • 使用数据库:

    
    use itcast;
  • 删除数据库:

    drop database if exists itcast;

3.1.2 表操作

  • 创建表:

    create table tb_user (id int primary key auto_increment comment 'ID,唯一标识',username varchar(20) not null unique comment '用户名',name varchar(10) not null comment '姓名',age int comment '年龄',gender char(1) default '男' comment '性别'
    ) comment '用户表';
  • 查询表结构:

    desc tb_user;
  • 修改表结构:

    添加字段:

    alter table tb_user add qq varchar(11) comment 'QQ号码';

    修改字段:

    alter table tb_user modify qq varchar(13) comment 'QQ号码';

    删除字段:

    alter table tb_user drop qq;
  • 删除表:

    
    drop table if exists tb_user;

小测试题:

  1. 如何使用 SQL 语句创建一个包含自增主键的用户表?
  2. 说出修改表结构时常用的三个操作。

3.2 DML语句(数据操作语言)

DML 用于对数据表中的数据进行操作,包括数据的插入、修改和删除。

3.2.1 插入数据

  • 插入指定字段:

    
    insert into emp(username, name, gender, phone, create_time, update_time)
    values ('wuji', '张无忌', 1, '13309091231', now(), now());
  • 批量插入:

    
    insert into emp(username, name, gender, phone, create_time, update_time)
    values ('Tom1', '汤姆1', 1, '13309091231', now(), now()),('Tom2', '汤姆2', 1, '13309091232', now(), now());

3.2.2 修改数据

  • 更新指定记录:

    
    update emp set name='张三', update_time=now() where id=1;
  • 更新所有记录:

    
    update emp set entry_date='2010-01-01', update_time=now();

3.2.3 删除数据

  • 删除指定记录:

    
    delete from emp where id=1;
  • 删除所有记录:

    
    delete from emp;

小测试题:

  1. 插入数据时,为什么要注意字段的顺序与值的顺序?
  2. 更新数据时为何需要同步修改 update_time 字段?

3.3 DQL语句(数据查询语言)

DQL 主要用于从数据表中查询数据,是所有 SQL 操作中最常用的。

3.3.1 基本查询

  • 查询多个字段:

    
    select name, entry_date from emp;
  • 查询所有字段:

    
    select * from emp;
  • 设置别名:

    
    select name as '姓名', entry_date as '入职日期' from emp;
  • 去重查询:

    
    select distinct job from emp;

3.3.2 条件查询

  • 简单条件查询:

    
    select * from emp where name = '杨逍';
  • 数值比较查询:

    
    select * from emp where salary <= 5000;
  • 空值判断:

    
    select * from emp where job is null;
  • 范围查询:

    
    select * from emp where entry_date between '2000-01-01' and '2010-01-01';
  • 模糊查询:

    查询姓名包含“二”:

    select * from emp where name like '%二%';

3.3.3 聚合函数与分组查询

  • 统计总人数:

    
    select count(*) from emp;
  • 求平均薪资:

    
    select avg(salary) from emp;
  • 分组统计:

    按性别统计:

    
    select gender, count(*) from emp group by gender;

3.3.4 排序查询

  • 升序排序:

    
    select * from emp order by entry_date asc;
  • 降序排序:

    
    select * from emp order by entry_date desc;
  • 多字段排序:

    
    select * from emp order by entry_date asc, update_time desc;

3.3.5 分页查询

  • 分页查询示例:

    查询从索引 0 开始的 5 条记录:

    
    select * from emp limit 0, 5;

    查询第 2 页数据(每页 5 条):

    select * from emp limit 5, 5;

小测试题:

  1. 什么是聚合函数?请举例说明。
  2. 区分 where 和 having 在分组查询中的作用。
  3. 分页查询中的起始索引如何计算?
  • 什么是聚合函数?请举例说明。

    聚合函数是 SQL 中对一组数据进行汇总计算的函数,它将一列数据作为一个整体进行计算,并返回单一的结果。例如:

    • COUNT(列名): 统计非 NULL 值的行数。

    • SUM(列名): 计算某列所有值的和。

    • AVG(列名): 求某列值的平均数。

    • MAX(列名): 查找某列中的最大值。

    • MIN(列名): 查找某列中的最小值。

      例如,在员工表中,可以使用 SELECT COUNT(*) FROM emp; 来统计员工总数;使用 SELECT AVG(salary) FROM emp; 来计算平均薪资。

  • 区分 where 和 having 在分组查询中的作用。

    • WHERE 子句:在进行分组前对数据进行过滤,它用于筛选满足条件的行,并且不能包含聚合函数。

    • HAVING 子句:在数据分组后对分组结果进行过滤,它允许使用聚合函数来判断每个分组是否满足条件。

      举例来说,如果想统计每个职位下员工数量大于 2 的情况,可以先使用 GROUP BY 分组,再用 HAVING COUNT(*) >= 2 过滤分组后的数据,而不能把 COUNT(*) >= 2 写在 WHERE 子句中。

  • **分页查询中的起始索引如何计算?**起始索引=(当前页码−1)×每页显示记录数(3−1)×5=10

    在 MySQL 中使用 LIMIT 进行分页查询时,起始索引的计算公式为:

    起始索引=(当前页码−1)×每页显示记录数\text{起始索引} = (\text{当前页码} - 1) \times \text{每页显示记录数}

    例如,如果每页显示 5 条记录,查询第 3 页的数据时,起始索引为:

    (3−1)×5=10(3-1) \times 5 = 10

    SQL 语句示例:

    SELECT * FROM emp LIMIT 10, 5;
    
http://www.dtcms.com/wzjs/501850.html

相关文章:

  • 政府网站建设工作的自查报告哪里有免费的网站推广服务
  • 做课展网站seo是什么意思电商
  • 网站开发软件技术专业好吗百度客服24小时人工服务
  • 做外贸网站哪家效果好学seo优化
  • 欧美网站设计特点seo工资一般多少
  • 用node做的网站sem竞价
  • 望京做网站静态网页设计与制作
  • 广州网站运营专业乐云seoseo初学教程
  • 平面设计网课培训有用吗爱站网seo工具包
  • 网站备案进度查询营销平台
  • 网站制作公司小邓长春做网络优化的公司
  • 创建网站 英文广告营销策略
  • 中央广播电视总台央视少儿客户端深圳网络优化推广公司
  • 自己本地可以做网站服务器能去百度上班意味着什么
  • 商标注册在哪个部门申请海外aso优化
  • wordpress文章框seo运营人士揭秘
  • 南通开发区:高质量发展百度seo搜索引擎优化方案
  • 做网站互联网公司排名软文代写费用
  • 国外vps私人网站优化排名软件推广
  • 学校校园网站建设方案深圳网站关键词排名优化
  • 宁夏做网站建设公司百度引擎入口
  • 上海电子通科技网站建设网站下载
  • 手机网站页面布局游戏推广对接平台
  • 室内设计ppt模板免费东莞关键词排名快速优化
  • 宁波网站建设招商加盟输入关键词进行搜索
  • 宁波网站建设rswl百度关键词推广方案
  • 广西网站制作公司合肥网络优化推广公司
  • 东莞视频网站制作广州最新消息
  • 宜宾建设网国内好的seo
  • 临沂网站建设举措百度热搜关键词排名