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

李氏牛仔网站建设风格seo整体优化步骤怎么写

李氏牛仔网站建设风格,seo整体优化步骤怎么写,网页设计页面大小,网站建设潍坊MySQL—— 基础语法大全及操作演示#xff08;上#xff09; 一、MySQL概述1.1 、数据库相关概念1.1.1 MySQL启动和停止 1.2 、MySQL 客户端连接1.3 、数据模型 二、SQL2.1、SQL通用语法2.2、SQL分类2.3、DDL2.3.1 DDL — 数据库操作2.3.1 DDL — 表操作 2.4、DML2.4.1 DML—… MySQL—— 基础语法大全及操作演示上 一、MySQL概述1.1 、数据库相关概念1.1.1 MySQL启动和停止 1.2 、MySQL 客户端连接1.3 、数据模型 二、SQL2.1、SQL通用语法2.2、SQL分类2.3、DDL2.3.1 DDL — 数据库操作2.3.1 DDL — 表操作 2.4、DML2.4.1 DML——添加数据2.4.1 DML——修改数据2.4.1 DML——删除数据 2.5、DQL2.5.1 基础语法2.5.2 基础查询2.5.3 条件查询2.5.4 聚合函数2.5.5 分组查询2.5.6 排序查询2.5.7 分页查询2.5.8 执行顺序 2.6、DCL2.6.1 管理用户2.6.2 权限控制 一、MySQL概述 1.1 、数据库相关概念 数据库、数据库管理系统、SQL 目前主流的关系型数据库管理系统的市场占有率排名如下 Oracle大型的收费数据库Oracle公司产品价格昂贵。MySQL开源免费的中小型数据库后来Sun公司收购了MySQL而Oracle又收购了Sun公司。 目前Oracle推出了收费版本的 MySQL也提供了免费的社区版本。SQL ServerMicrosoft 公司推出的收费的中型数据库C#、.net等语言常用。PostgreSQL开源免费的中小型数据库。DB2IBM公司的大型收费数据库产品。SQLLite嵌入式的微型数据库。Android内置的数据库采用的就是该数据库。MariaDB开源免费的中小型数据库。是MySQL数据库的另外一个分支、另外一个衍生产品与MySQL数据库有很好的兼容性。 而不论我们使用的是上面的哪一个关系型数据库最终在操作时都是使用 SQL 语言来进行统一操作因为 SQL 语言是操作关系型数据库的 统一标准。所以即使我们现在学习的是MySQL假如我们以后到了公司使用的是别的关系型数据库如Oracle、DB2、SQLServer也完全不用担心因为操作的方式都是一致的。 我们在日常的开发中会借助于MySQL的图形化界面来简化开发提高开发效率。而目前 mysql 主流的图形化界面工具有以下几种 我选择最后一种 DataGrip这种图形化界面工具功能更加强大界面提示更加友好。 MySQL下载请参考其他教程 图形化界面工具 DataGrip 安装 与 MySQL 连接。 1.1.1 MySQL启动和停止 net start mysql80 net stop mysql801.2 、MySQL 客户端连接 方式一使用 MySQL 提供的客户端命令行工具 方式二使用系统自带的命令行工具执行指令 mysql [-h 127.0.0.1] [-P 3306] -u root -p参数: -h : MySQL服务所在的主机 IP-P : MySQL服务端口号默认3306-u : MySQL数据库用户名-p : MySQL数据厍用户名对应的密码 [] 内为可选参数如果需要连接 远程的 MySQL需要加上这两个参数来指定远程主机IP、端口如果连接本地的MySQL则无需指定这两个参数。 注意 使用这种方式进行连接时需要安装完毕后配置PATH环境变量。 1.3 、数据模型 ⭐️ 1、关系型数据库RDBMS 概念建立在关系模型基础上由多张相互连接的 二维表 组成的数据库。 而所谓 二维表指的是由行和列组成的表如下图就类似于Excel表格数据有表头、有列、有行还可以通过一列关联另外一个表格中的某一列数据。我们之前提到的 MySQL、Oracle、DB2、SQLServer 这些都是属于关系型数据库里面都是基于二维表存储数据的。简单说基于二维表存储数据的数据库就成为 关系型数据库不是基于二维表存储数据的数据库就是 非关系型数据库。 特点 A. 使用表存储数据格式统一便于维护。B. 使用 SQL语言操作标准统一使用方便。 ⭐️ 2)、数据模型 MySQL是关系型数据库是基于 二维表 进行数据存储的具体的结构图下: 我们可以通过MySQL客户端连接 数据库管理系统 DBMS然后通过DBMS操作数据库。可以使用SQL语句通过 数据库管理系统 操作数据库以及操作数据库中的表结构及数据。一个数据库服务器中可以创建多个数据库一个数据库中也可以包含多张表而一张表中又可以包 含多行记录。 二、SQL 全称 Structured Query Language结构化查询语言。操作关系型数据库的编程语言定义了 一套操作关系型数据库统一标准 。 2.1、SQL通用语法 在学习具体的SQL语句之前先来了解一下SQL语言的同于语法。 SQL语句可以 单行 或 多行 书写以 分号 结尾。SQL语句可以使用 空格/缩进 来增强语句的可读性。MySQL数据库的SQL语句 不区分大小写 关键字建议使用大写。注释 单行注释-- 注释内容 或 # 注释内容多行注释/* 注释内容 */ 2.2、SQL分类 SQL语句根据其功能主要分为四类DDL、DML、DQL、DCL。 2.3、DDL 2.3.1 DDL — 数据库操作 ⭐️ 1)、查询所有数据库 show databases ;⭐️ 2)、查询当前数据库 select database() ;⭐️ 3)、创建数据库 create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序规则 ] ;[] 内的是可选项。字符集例如utf8mb4不建议使用 utf8, 其长度为3个字节而 utf8mb4 长度是4个字节。在同一个数据库服务器中不能创建两个名称相同的数据库否则将会报错。(可以通过 if not exists 参数来解决这个问题数据库不存在, 则创建该数据库如果存在则不创建。) 举个栗子 create database if not exists rmzh default charset utf8mb4 ;⭐️ 4)、删除数据库 drop database [ if exists ] 数据库名 ;如果删除一个不存在的数据库将会报错。此时可以加上参数 if exists 如果数据库存在再执行删除否则不执行删除。 ⭐️ 5)、切换数据库 use 数据库名 ;我们要操作某一个数据库下的表时就需要通过该指令切换到对应的数据库下否则是不能操作的。 比如切换到 rmzh 数据执行如下SQL use rmzh ;DDL数据库操作 快速食用---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- # 1)、查询所有数据库 show databases ; # 2)、查询当前数据库 select database() ; # 3)、创建数据库 create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序规则 ] ; # 4)、删除数据库 drop database [ if exists ] 数据库名 ; # 5)、切换数据库 use 数据库名 ;2.3.1 DDL — 表操作 ⭐️ 1)、表操作-查询创建 查询当前数据库所有表 show tables;查看指定表结构 desc 表名 ;通过这条指令我们可以查看到指定表的字段字段的类型、是否可以为 NULL是否存在默认值等信息。 查询指定表的建表语句 show create table 表名 ;通过这条指令主要是用来 查看建表语句 的而有部分参数我们在创建表的时候并未指定也会查询到因为这部分是数据库的默认值如存储引擎、字符集等。 创建表结构 CREATE TABLE 表名(字段1 字段1类型 [COMMENT 字段1注释 ],字段2 字段2类型 [COMMENT 字段2注释 ],字段3 字段3类型 [COMMENT 字段3注释 ],......字段n 字段n类型 [COMMENT 字段n注释 ] ) [ COMMENT 表注释 ] ;注意: [...]内为可选参数最后一个字段后面没有逗号。 比如我们创建一张表 tb_user 对应的结构如下那么建表语句为 create table tb_user(id int comment 编号,name varchar(50) comment 姓名,age int comment 年龄,gender varchar(1) comment 性别 ) comment 用户表;⭐️ 2)、表操作-数据类型 在上述的建表语句中我们在指定字段的数据类型时用到了 intvarchar那么在MySQL中除了以上的数据类型还有哪些常见的数据类型呢 接下来,我们就来详细介绍一下MySQL的数据类型。MySQL中的数据类型有很多主要分为三类数值类型、字符串类型、日期时间类型。 数值类型 # 如: # 1). 年龄字段 -- 不会出现负数, 而且人的年龄不会太大 age tinyint unsigned # 2). 分数 -- 总分100分, 最多出现一位小数 score double(4,1)字符串类型 char 与 varchar 都可以描述字符串: char 是定长字符串指定长度多长就占用多少个字符不足补0和字段值的长度无关 。而 varchar 是变长字符串指定的长度为最大占用长度 。 相对来说char的性能会更高些。 # 如 # 1). 用户名 username ------ 长度不定, 最长不会超过50 username varchar(50) # 2). 性别 gender --------- 存储值, 不是男,就是女 gender char(1) # 3). 手机号 phone -------- 固定长度为11 phone char(11)日期时间类型 # 如: #1). 生日字段 birthday birthday date #2). 创建时间 createtime createtime datetime⭐️ 表操作-案例 设计一张员工信息表要求如下 编号纯数字员工工号 (字符串类型长度不超过10位)员工姓名字符串类型长度不超过10位性别男/女存储一个汉字年龄正常人年龄不可能存储负数身份证号二代身份证号均为18位身份证中有X这样的字符入职时间取值年月日即可 对应的建表语句如下: create table emp(id int comment 编号,workno varchar(10) comment 工号,name varchar(10) comment 姓名,gender char(1) comment 性别,age tinyint unsigned comment 年龄,idcard char(18) comment 身份证号,entrydate date comment 入职时间 ) comment 员工表;⭐️ 3)、表操作-修改 添加字段 alter table 表名 add 字段名 类型 (长度) [ comment 注释 ] [ 约束 ];修改 数据类型 alter table 表名 modify 字段名 新数据类型 (长度);修改 字段名和字段类型 alter table 表名 change 旧字段名 新字段名 类型 (长度) [ comment 注释 ]删除字段 alter table 表名 drop 字段名;修改表名 alter table 表名 rename to 新表名;⭐️ 4)、表操作-删除 删除表 drop table [ if exists ] 表名;可选项 IF EXISTS 代表只有表名存在时才会删除该表表名不存在则不执行删除操作(如果不 加该参数项删除一张不存在的表执行将会报错)。 删除指定表, 并重新创建表 truncate table 表名;注意: 在删除表的时候表中的全部数据也都会被删除。 DDL表操作 快速食用---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- # 1. 查询当前数据库所有表 show tables; # 2. 查看指定表结构 desc 表名 ; # 3. 查询指定表的建表语句 show create table 表名 ;# 4. 创建表结构 create table 表名(字段1 字段1类型 [comment 字段1注释 ],字段2 字段2类型 [comment 字段2注释 ],字段3 字段3类型 [comment 字段3注释 ],......字段n 字段n类型 [comment 字段n注释 ] ) [ comment 表注释 ] ;# 5. 添加字段 alter table 表名 add 字段名 类型 (长度) [ comment 注释 ] [ 约束 ]; # 6. 修改数据类型 alter table 表名 modify 字段名 新数据类型 (长度); # 7. 修改字段名和字段类型 alter table 表名 change 旧字段名 新字段名 类型 (长度) [ comment 注释 ] # 8. 删除字段 alter table 表名 drop 字段名; # 9. 修改表名 alter table 表名 rename to 新表名;# 10. 删除表 drop table [ if exists ] 表名; # 11. 删除指定表, 并重新创建表 truncate table 表名;2.4、DML DML英文全称是Data Manipulation Language (数据操作语言)用来对数据库中表的数据记录进行 增、删、改操作。 添加数据INSERT修改数据UPDATE删除数据DELETE 以下使用可视化工具DataGrip操作没有安装的可以装一下 DataGrip 安装 与 MySQL 连接。 2.4.1 DML——添加数据 ⭐️ 1)、 给指定字段添加数据 insert into 表名 (字段名1, 字段名2, ...) values (值1, 值2, ...) ;案例: 给 employee 表所有的字段添加数据 insert employee(id, name, age, gender, workno, idcard, entrydate) values(1, rm, 18, 男, 1, 123456789012345678, 2023-01-01);注意事项: 插入数据时指定的字段顺序需要与值得顺序一 一对应。字符串和日期型数据应该包含在引用中。插入得数据大小应该在字段的规定范围内。 插入数据完成之后我们有两种方式查询数据库的数据 A、方式一 在左侧的表名上双击就可以查看这张表的数据。 B. 方式二 可以直接一条查询数据的SQL语句, 语句如下: select * from employee;⭐️ 2)、给全部字段添加数据 insert into 表名 values (值1, 值2, ...) ;⭐️ 3)、批量添加数据 insert into 表名 (字段名1, 字段名2, ...) values (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...) ; insert into 表名 values (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...) ;2.4.1 DML——修改数据 修改数据的具体语法为: update 表名 set 字段名1 值1 , 字段名2 值2 , .... [ where 条件 ] ;注意事项: 修改语句的条件可以有也可以没有如果没有条件则会修改整张表的所有数据。delete 语句不能删除某一个字段的值(可以使用 update将该字段值置为 null 即 可)。当进行删除全部数据操作时datagrip 会提示我们询问是否确认删除我们直接点击 Execute 即可。 2.4.1 DML——删除数据 删除数据的具体语法为 delete from 表名 [ where 条件 ] ;DML数据操作 快速食用---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- # 1)、 给指定字段添加数据 insert into 表名 (字段名1, 字段名2, ...) values (值1, 值2, ...) ; # 2)、给全部字段添加数据 insert into 表名 values (值1, 值2, ...) ; # 3)、批量添加数据 insert into 表名 (字段名1, 字段名2, ...) values (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...) ; insert into 表名 values (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...) ;# 修改数据的具体语法为: update 表名 set 字段名1 值1 , 字段名2 值2 , .... [ where 条件 ] ;# 删除数据的具体语法为 delete from 表名 [ where 条件 ] ;2.5、DQL DQL 英文全称是 Data Query Language (数据查询语言)数据查询语言用来查询数据库中表的记录。 查询关键字: SELECT 在一个正常的业务系统中查询操作的频次是要远高于增删改的当我们去访问企业官网、电商网站在这些网站中我们所看到的数据实际都是需要从数据库中查询并展示的。而且在查询的过程中可能还会涉及到条件、排序、分页等操作。 那么本小节我们主要学习的就是如何进行数据的查询操作。 我们先来完成如下数据准备工作: drop table if exists employee;create table emp(id int comment 编号,workno varchar(10) comment 工号,name varchar(10) comment 姓名,gender char(1) comment 性别,age tinyint unsigned comment 年龄,idcard char(18) comment 身份证号,workaddress varchar(50) comment 工作地址,entrydate date comment 入职时间 )comment 员工表;insert into emp (id, workno, name, gender, age, idcard, workaddress, entrydate) values (1, 00001, 柳岩666, 女, 20, 123456789012345678, 北京, 2020-01-01),(2, 00002, 张无忌, 男, 18, 123456789012345670, 北京, 2021-09-01),(3, 00003, 韦一笑, 男, 38, 123456789712345670, 上海, 2021-08-01),(4, 00004, 赵敏, 女, 18, 123456757123845670, 北京, 2022-12-01),(5, 00005, 小昭, 女, 16, 123456769012345678, 上海, 2022-07-01),(6, 00006, 杨逍, 男, 28, 12345678931234567X, 北京, 2022-01-01),(7, 00007, 范瑶, 男, 40, 123456789212345670, 北京, 2022-05-01),(8, 00008, 黛绮丝, 女, 38, 123456157123645670, 天津, 2023-05-01),(9, 00009, 范凉凉, 女, 45, 123156789012345678, 北京, 2023-04-01),(10, 00010, 陈友谅, 男, 53, 123456789012345670, 上海, 2023-01-01),(11, 00011, 张士诚, 男, 55, 123567897123465670, 江苏, 2023-05-01),(12, 00012, 常遇春, 男, 32, 123446757152345670, 北京, 2004-02-01),(13, 00013, 张三丰, 男, 88, 123656789012345678, 江苏, 2020-11-01),(14, 00014, 灭绝, 女, 65, 123456719012345670, 西安, 2022-05-01),(15, 00015, 胡青牛, 男, 70, 12345674971234567X, 西安, 2023-04-01),(16, 00016, 周芷若, 女, 18, null, 北京, 2022-06-01);准备完毕后我们就可以看到 emp 表中准备的16条数据。接下来我们再来完成DQL语法的学习。 2.5.1 基础语法 DQL 查询语句语法结构如下 select字段列表 from表名列表 where条件列表 group by分组字段列表 having分组后条件列表 order by排序字段列表 limit分页参数在学习这部分的时候会将上面的完整语法进行拆分分为以下几个部分 基本查询不带任何条件条件查询where聚合函数count、max、min、avg、sum分组查询group by排序查询order by分页查询limit 2.5.2 基础查询 在基本查询的DQL语句中不带任何的查询条件查询的语法如下 ⭐️ 1). 查询多个字段 select 字段1, 字段2, 字段3 ... from 表名 ; select * from 表名 ;注意 : * 号代表查询所有字段在实际开发中尽量少用不直观、影响效率。 ⭐️ 2). 字段设置别名 select 字段1 [ as 别名1 ] , 字段2 [ as 别名2 ] ... from 表名; select 字段1 [ 别名1 ] , 字段2 [ 别名2 ] ... from 表名;⭐️ 3). 去除重复记录 select distinct 字段列表 from 表名;2.5.3 条件查询 ⭐️ 1). 语法 select 字段列表 from 表名 where 条件列表 ;⭐️ 2). 条件 常用的比较运算符如下: 常用的逻辑运算符如下: 一般使用 and , or , not 。 2.5.4 聚合函数 ⭐️ 1). 介绍 将一列数据作为一个整体进行 纵向计算。 ⭐️ 2). 常见的聚合函数 ⭐️ 3). 语法 select 聚合函数(字段列表) from 表名 ;注意 : NULL 值是不参与所有聚合函数运算的。 2.5.5 分组查询 ⭐️ 1). 语法 select 字段列表 from 表名 [ where 条件 ] group by 分组字段名 [ having 分组后过滤条件 ];⭐️ 2). where 与 having 区别 执行时机不同where 是 分组之前 进行过滤不满足 where 条件不参与分组而 having 是 分组之后 对结果进行过滤。判断条件不同where 不能对 聚合函数 进行判断而 having 可以。 注意事项: 分组之后查询的字段一般为 聚合函数 和 分组字段查询其他字段无任何意义。执行顺序: where 聚合函数 having 。支持多字段分组, 具体语法为 : group by columnA,columnB 2.5.6 排序查询 排序在日常开发中是非常常见的一个操作有 升序排序也有 降序排序。 ⭐️ 1). 语法 select 字段列表 from 表名 order by 字段1 排序方式1 , 字段2 排序方式2 ;⭐️ 2).排序方式 ASC : 升序(默认值)DESC: 降序 注意事项 如果是升序, 可以不指定排序方式 ASC ;如果是多字段排序当第一个字段值相同时才会根据第二个字段进行排序 ; 2.5.7 分页查询 分页操作在业务系统开发时也是非常常见的一个功能我们在网站中看到的各种各样的分页条后台都需要借助于数据库的分页操作。 ⭐️ 1). 语法 select 字段列表 from 表名 limit 起始索引, 查询记录数 ;注意事项: 起始索引从 0 开始起始索引 查询页码 - 1* 每页显示记录数。分页查询是数据库的方言不同的数据库有不同的实现MySQL中是 LIMIT。如果查询的是第一页数据起始索引可以省略直接简写为 limit 10。 2.5.8 执行顺序 DQL语句在执行时是有执行顺序的也就是先执行那一部分后执行那一部分 DQL数据查询操作 快速食用 # **1、基本查询**不带任何条件 # 1.1). 查询多个字段 select 字段1, 字段2, 字1 段3 ... from 表名 ; select * from 表名 ;# 1.2). 字段设置别名 select 字段1 [ as 别名1 ] , 字段2 [ as 别名2 ] ... from 表名; select 字段1 [ 别名1 ] , 字段2 [ 别名2 ] ... from 表名;# 1.3). 去除重复记录 select distinct 字段列表 from 表名;# **2、条件查询**where select 字段列表 from 表名 where 条件列表 ;# **3、聚合函数**count、max、min、avg、sum select 聚合函数(字段列表) from 表名 ;# **4、分组查询**group by select 字段列表 from 表名 [ where 条件 ] group by 分组字段名 [ having 分组后过滤条件 ];# **5、排序查询**order by select 字段列表 from 表名 order by 字段1 排序方式1(asc/desc) , 字段2 排序方式2(asc/desc) ;# **6、分页查询**limit select 字段列表 from 表名 limit 起始索引, 查询记录数 ;2.6、DCL DCL英文全称是 Data Control Language (数据控制语言)用来管理数据库用户、控制数据库的访问权限。 2.6.1 管理用户 ⭐️ 1). 查询用户 select * from mysql.user;查询的结果如下: 其中 Host 代表当前用户访问的主机, 如果为 localhost, 仅代表只能够在当前本机访问是不可以远程访问的。User 代表的是访问该数据库的用户名。在MySQL中需要通过 Host 和 User 来唯一标识一个用户。 ⭐️ 2). 创建用户 # 只能够在当前主机localhost访问 create user 用户名主机名 identified by 密码; # 可以在任意主机访问该数据库 create user 用户名% identified by 密码;⭐️ 3). 修改用户密码 alter user 用户名主机名 identified with mysql_native_password by 新密码 ;⭐️ 4). 删除用户 drop user 用户名主机名 ;注意事项: 在MySQL中需要通过 用户名主机名 的方式来唯一标识一个用户。主机名可以使用 % 通配。这类SQL开发人员操作的比较少主要是 DBA Database Administrator 数据库管理员使用。 2.6.2 权限控制 MySQL中定义了很多种权限但是常用的就以下几种 上述只是简单罗列了常见的几种权限描述其他权限描述及含义可以直接参考 官方文档。 ⭐️ 1). 查询权限 show grants for 用户名主机名 ;⭐️ 2). 授予权限 grant 权限列表 on 数据库名.表名 to 用户名主机名;⭐️ 3). 撤销权限 revoke 权限列表 on 数据库名.表名 from 用户名主机名;注意事项 多个权限之间使用逗号分隔授权时 数据库名和表名可以使用 * 进行通配代表所有。 DCL数据控制操作 快速食用 # 1、管理用户 # 1.1). 查询用户 select * from mysql.user;# 1.2). 创建用户 create user 用户名主机名 identified by 密码;# 1.3). 修改用户密码 alter user 用户名主机名 identified with mysql_native_password by 新密码 ;# 1.4). 删除用户 drop user 用户名主机名 ;# 2、权限控制 # 2.1). 查询权限 show grants for 用户名主机名 ;# 2.2). 授予权限 grant 权限列表 on 数据库名.表名 to 用户名主机名;# 2.3). 撤销权限 revoke 权限列表 on 数据库名.表名 from 用户名主机名;
http://www.sczhlp.com/news/170581/

相关文章:

  • 海南高端建设网站微信小程序怎么做店铺免费
  • 企业高端网站制作网站 工商备案
  • 广州建网站有哪些乐清网站建设乐清网站设计
  • 网站企业制作自建网站避免侵权
  • 一站式建站企业网站和网站建设推广公司
  • 最适合新人的写作网站做暧暧网站
  • 如何推广网站平台汕头网站推广费用
  • 网址之家123上网主页免费seo优化工具
  • 百度怎样才能搜到自己的网站wordpress 汉化函数
  • 宝安西乡做网站广州专业网站改版领军企业
  • 广告网站模板下载不了找工程承包app
  • 加强政务门户网站建设深圳盐田网站建设
  • Ai元人文系列:领域协同深耕:构建人机价值共生的文明实践框架
  • NFL统一数据生态系统技术架构解析
  • 电商网站与大数据宁波有几个区
  • 0基础自学做网站广告创意与设计
  • 慈溪建设局网站做网站 智域大连
  • 网站建设云服务器与虚拟主机建立个人网站服务器
  • 大型车产品网站建设百度账号注册
  • 2345网址导航中国最好的网址站电商公司有哪些?
  • 广东 品牌网站建设深圳做网站 龙华信科
  • 推广网站排名优化seo教程上海计算机考试网页制作
  • 做素食香料哪个网站买网站建设综合训练的实验目的
  • 怎么建设商业网站seo服务 收费
  • 快盘做网站服务器哈尔滨网页设计师
  • 网站的页脚网页设计搭建网站
  • 无人在线观看免费高清电视剧东莞推广优化关键词优化
  • 实用指南:SCDN如何同时保障网站加速与DDoS防御?
  • 二分查找模板:基础二分与进阶二分
  • 【设计模式-4.5】行为型——迭代器模式 - 教程