收藏 分销(赏)

MySQL数据库课件.doc

上传人:天**** 文档编号:2245177 上传时间:2024-05-23 格式:DOC 页数:90 大小:2.46MB
下载 相关 举报
MySQL数据库课件.doc_第1页
第1页 / 共90页
MySQL数据库课件.doc_第2页
第2页 / 共90页
MySQL数据库课件.doc_第3页
第3页 / 共90页
MySQL数据库课件.doc_第4页
第4页 / 共90页
MySQL数据库课件.doc_第5页
第5页 / 共90页
点击查看更多>>
资源描述

1、(完整版)MySQL数据库课件第一章 数据库简介 1. 数据库的概念 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢.所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。 RDBMS即关系数据库管理系统(Relational Database Management System)的特点: 1。数据以表格

2、的形式出现 2。每行为各种记录名称 3。每列为记录名称所对应的数据域 4.许多的行和列组成一张表单 5。若干的表单组成databaseRDBMS 术语在我们开始学习My SQL 数据库前,让我们先了解下RDBMS的一些术语: 数据库: 数据库是一些关联表的集合。. 数据表: 表是数据的矩阵.在一个数据库中的表看起来像一个简单的电子表格。 列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。 冗余:存储两倍数据,冗余可以使系统速度更快. 主键:主键是唯一的。一个数据表中只能包含一个主键.你可以使用主键来查询数据。

3、外键:外键用于关联两个表. 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引. 索引:使用索引可快速访问数据库表中的特定信息.索引是对数据库表中一列或多列的值进行排序的一种结构.类似于书籍的目录。 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体.与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。My SQL数据库My SQL是一个关系型数据库管理系统,由瑞典My SQL AB公司开发,目前属于Oracle公司。My SQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性

4、. My SQL是开源的,所以你不需要支付额外的费用。 My SQL支持大型的数据库。可以处理拥有上千万条记录的大型数据库。 My SQL使用标准的SQL数据语言形式。 My SQL可以允许于多个系统上,并且支持多种语言。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和TCL等。 My SQL对PHP有很好的支持,PHP是目前最流行的Web开发语言。 My SQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。 My SQL是可以定制的,采用了GPL协议,你可以修改源码来开发自己的

5、My SQL系统。第二章 My SQL数据库的安装与配置1. 所需My SQL安装包mysql5。0。41_Setup. EXE2. 安装方法步骤图解1运行安装程序下一步 2. 选择“Custom”自定义安装,下一步 3. 这里可以将不需要的安装删除,可以更改安装目录,下一步 4. 单击“Install按钮,开始安装 5. 安装中,耐心等一会儿 6.这里是询问你是否要注册一个My SQL.com的账号,或是使用已有的账号登陆My SQL.com,一般不需要了,点选“Skip Sign-Up”,按“Next”略过此步骤。 7.安装完成出现如下界面 现在软件安装完成了,出现上面的界面,这里有一个很

6、好的功能, My SQL配置向导,不用向以前一样,自己手动乱七八糟的配置my。INI了,将 “Configure the My SQL Server now”前面的勾打上,点“Finish”结束软件的安装并启动 My SQL配置向导。 8. 进入配置过程 9. 选择配置方式 选择配置方式,“Detailed Configuration(手动精确配置)”、“Standard Configuration(标准配置),我们选择“Detailed Configuration,方便熟悉配置过程。 10.选择服务器类型,“Developer Machine(开发测试类,My SQL占用很少资源)”、“Se

7、rver Machine(服务器类型,My SQL占用较多资源)”、“Dedicated My SQL Server Machine(专门的数据库服务器,My SQL占用所有可用资源)”,大家根据自己的类型选择了,一般选“Server Machine”,不会太少,也不会占满。 11. 选择My SQL数据库的大致用途,“MULTI functional Database(通用多功能型,好)”、“Tran Sac TIONAL Database Only(服务器类型,专注于事务处理,一般)”、“Non - Tran Sac TIONAL Database Only(非事务处理型,较简单,主要做一

8、些监控、记数用,对MYL SAM数据类型的支持仅限于Non Tran Sac TIONAL),随自己的用途而选择了,我这里选择“Tran Sac TIONAL Database Only”,按“Next”继续。 12. 对INNODB Table space进行配置,就是为INNODB 数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,当然,对数据库做个备份就没问题了,这里不详述。我这里没有修改,使用用默认位置,直接按“Next”继续 13. 选择您的网站的一般My SQL访问量,同时连接的数目,“Decision Support(DSS

9、)/OLAP(20个左右)、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,自己输一个数)”,我这里选“Online Transaction Processing(OLTP)”,自己的服务器,应该够用了,按“Next”继续 14. 是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问My SQL数据库了,我这里启用,把前面的勾打上,Port Number:3306,在这个页面上,您还可以选择“启用标准模式”(Enable Strict Mode),这样My SQL就不会允许细小的语法错误。

10、如果您还是个新手,我建议您取消标准模式以减少麻烦。但熟悉My SQL以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性.按“Next”继续 15. 这个比较重要,就是对My SQL默认数据库语言编码进行设置,第一个是西文编码,第二个是多字节的通用utf8编码,都不是我们通用的编码,这里选择第三个,然后在Character Set那里选择或填入“GBK”,当然也可以用“gb2312”,区别就是GBK的字库容量大,包括了gb2312的所有汉字,并且加上了繁体字、和其它乱七八糟的字-使用My SQL的时候,在执行数据操作命令之前运行一次“SET NAMES GBK;”(运行一次就行了,

11、GBK可以替换为其它值,视这里的设置而定),就可以正常的使用汉字(或其它文字)了,否则不能正常显示汉字。按 “Next”继续。 16. 选择是否将My SQL安装为windows服务,还可以指定Service Name(服务标识名称),是否将My SQL的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“My SQL。EXE -UUSER Name -PPASS word;就可以了,不用指出My SQL。EXE的完整地址,很方便),我这里全部打上了勾,Service Name不变。按“Next” 17 这一步询问是否要修改默认root

12、用户(超级管理)的密码(默认为空),“New root password”如果要修改,就在此填入新密码(如果是重装,并且之前已经设置了密码,在这里更改密码可能会出错,请留空,并将“Modify Security Settings”前面的勾去掉,安装配置完成后另行修改密码),“Confirm(再输一遍)”内再填一次,防止输错。“Enable root access from remote machines(是否允许root用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)”。最后“Create An Anonymous Account(新建一个匿名用户,匿名用户可以连接数据库

13、,不能操作数据,包括查询)”,一般就不用勾了,设置完毕,按“Next”继续。 18。确认设置无误,如果有误,按“Back”返回检查。按“Execute”使设置生效。 19. 设置完毕,按“Finish”结束My SQL的安装与配置-这里有一个比较常见的错误,就是不能“Start service”,一般出现在以前有安装My SQL的服务器上,解决的办法,先保证以前安装的My SQL服务器彻底卸载掉了;不行的话,检查是否按上面一步所说,之前的密码是否有修改,照上面的操作;如果依然不行,将My SQL安装目录下的data文件夹备份,然后删除,在安装完成后,将安装生成的 data文件夹删除,备份的da

14、ta文件夹移回来,再重启My SQL服务就可以了,这种情况下,可能需要将数据库检查一下,然后修复一次,防止数据出错。安装路径不要带有中文!也不能有空格括号之类的,否则就会遇到下图显示的错误 到此我们的My SQL安装配置完成,我们需要测试My SQL是否真的安装配置成功。在我们的CMD 命令行下输入 net start My SQL看是否能启动服务;使用工具NAVI cat Lite for My SQL看是否能够链接到My SQL数据库 第三章 数据库和表的操作1. SQL语句分类 DQL(Data Query Language,数据查询语言) -查询数据库中的数据 -SELECT DML(

15、Data Manipulation Language,数据操作语言) -插入、删除和修改数据库中的数据; -INSERT、 UPDATE 、DELETE等; DCL( Data Control Language,数据控制语言) 用来控制存取许可、存取权限等; GRANT、REVOKE 等; DDL( Data Definition Language,数据定义语言) 用来建立数据库、数据库对象和定义其列 -CREATE 、DROP 等事务控制语言(Tran Sac TIONAL Control Language, TCL) COMMIT、ROLLBACK2. SQL语句书写规则 书写SQL语句应

16、遵循以下规则: SQL语句不区分大小写 字符值和日期值区分大小写 SQL语句可以写成一行或多行 关键字不能简写或分割于多行 子句通常置于单独行这样更具可读性并便于编辑 Tab和缩进的使用可以提高程序的可读性 关键字最好大写,其他词诸如表名、列名使用小写3. SQL 中的注释: SQL标准: 多行注释: /* */。 单行注释: - My SQL: “”4. 数据库对象的命名规则 必须以字母开头 可包括数字和三个特殊字符( _ ) 不要使用My SQL的保留字( 保留字与关键字My SQL 数据库系统的 用户只能使用,不能用它来定义 表的名称与字段名)同一Schema下的对象不能同名5. 列类型

17、 My SQL支持多种列类型: 数值类型、 日期/时间类型、 字符串(字符)类型My SQL中的数值数据类型:数值数据类型整数 数值数据类型-浮点数 日期/时间类型 字符串类型数据库的操作查看数据库: show databases;创建数据库: create database if not exists 数据库名; 删除数据库: drop database 数据库名; 使用数据库 use 数据库名表的操作显示当前数据库中已有的数据表的信息:show tables;查看数据表中各列的信息:DESCRIBE|DESC 表名 列名;查看表的详细结构:show create table 表名G;备注:

18、如果不加G”参数,显示的结果可能非常混乱;加上该参数可以使结果更加直观,易于查看。创建表:CREATE TABLE 表名(列名 列类型,列名 列类型);删除表:DROP TABLE 表名修改表结构:增加列ALTER TABLE 表名 ADD 列名 列类型;修改列类型ALTER TABLE 表名 MODIFY 列名 列类型;列改名ALTER TABLE 表名 CHANGE 旧列名 新列名 列类型;删除列ALTER TABLE 表名 DROP 列名; 更改表名ALTER TABLE 表名 RENAME 新表名;RENAME TABLE 表名 TO 新表名;支持一次重命名多个表。RENAME TAB

19、LE old_table1 TO tmp_table,new_table TO old_table,tmp_table TO new_table;表的约束:约束约束用于确保数据库数据满足特定的商业规则。约束是表级的强制规定,约束可分为列级、表级约束两种:列级约束是字段定义的一部分,只能应用在一个列上表级约束是独立于列的定义定义约束的关键字constraint。大部分数据库都支持以下五种约束:NOT NULL(非空)如果在列上定义了not null,那么当插入数据时,必须为列提供数据。 not null约束只能定义在列级;UNIQUE(唯一):当定义了唯一约束后,该列值不能是重复的,但是可以为n

20、ull.被定义的唯一性约束,会自动建立一个唯一性的索引;UNIQUE约束既可以定义在列级,也可以定义在表级;注意:如果字段定义为UNIQUE约束时,允许包含多个NULL值。PRIMARY KEY(主键)用于唯一的标识表行的数据,当定义主键约束后,该列不但不能重复而且不能为null。需要说明的是:一张表最多只能有一个主键,但是可以有多个unique约束.My SQL中会自动产生主键索引;主键约束既可以定义在列级,也可以定义在表级;FOREIGN KEY(外键)用于定义主表和从表之间的关系。外键约束要定义在从表上,主表则必须具有主键约束或是unique约束,当定义外键约束后,要求外键列数据必须在主

21、表的主键列存在或是为null.一个表中可以定义多个外键约束;My SQL中会自动产生外键键索引;外键约束既可以定义在列级,也可以定义在表级;CHECK(检查)检查性约束,检查输入的每一个数据,只有符合条件的数据才允许插入到 表中。check表达式的结果必须是一个布尔值check约束既可以定义在列级也可以定义在表级.所有的存储引擎均对CHECK子句进行分析,但是忽略CHECK子句。添加约束 可增加或删除约束,但不能直接修改;可使约束启用和禁用只要是可以使用表级约束语法来定义的约束,都可以通过add constraint来增加该约束。语法:ALTER TABLE tableADD CONSTRAI

22、NT constraint_name type (column);非空约束必须使用MODIFY子句增加ALTER TABLE table MODIFY column type not null;添加约束示例给学生表添加约束:1。 将sid设为主键alter table stu add constraint pk_sid primary key(sid);2. 为sname添加唯一约束alter table stu add constraint uq_sname unique(sname);3. 性别默认为男alter table stu modify sex char(2) default 男

23、; 注意:默认值不是约束,要加默认值可以在建表时添加或修改表结构。4。 性别为非空alter table stu modify sex char(2) not null; 5。 给classId添加外键alter table stu add constraint fk_classId foreign key (classId) references classes(classId);删除定义的约束删除定义的约束删除约束示例:删除主键约束 alter table stu drop primary key;注意:如果主键列有自增长列,必须先删除自增长,再删除主键:alter table stu c

24、hange tno tno int(11);删除not null约束alter table stu modify sex char(2) ;删除唯一约束 alter table stu drop index uq_tname;删除外键约束alter table stu drop foreign key fk_stu_sc;表级约束和列级约束列级定义:是在定义列的同时定义约束如在classes表定义主键约束:create table classes(classId number(2) constraint pk_cid primary key, -给约束取名字cname varchar2(12)

25、);表级定义:是指在定义了所有列后,再定义约束。注意:not null约束只能在列级上定义。以建立stu表时定义主键约束和外键约束为例:creat table stu(sid number(4), sname varchar2(20), classid number(2),constraint pk_sid primary key(sid),constraint uq_sname unique(sname);自动增长和默认值作业:创建数据库:school在其中创建表:stu, course, sc添加相应的约束信息。 第四章 数据更新操作1课程学习目标: 数据的增加 数据的修改数据的删除2.

26、插入数据INSERT INSERT语句用于完成各种向数据表中插入数据的功能,可以对列赋值一次插入一条记录,也可以根据select查询子句获得的结果记录集批量插入指定数据表。语法格式:1.所有字段都插入:INSERT INTO 表名 VALUES(value1,value2,value3.。);2。插入部分字段: INSERT INTO 表名 (column1,column2,column3,.。)VALUES (value1,value2,value3,.。); 注意:1 插入空值可以用null,默认值用default。 2 可以使用last_insert_id()函数获取上一条insert命

27、令生成的auto_increment值。 这是一个面向连接的函数,只对本次会话有效.、插入数据时的注意事项: 注意事项1:每次插入一行数据,不可能只插入半行或者几列数据,因此,插入的数据是否有效将按照整行的完整性的要求来检验; 注意事项2: 每个数据值的数据类型、精度和小数位数必须与相应的列匹配; 注意事项3:如果在设计表的时候就指定了某列不允许为空,则必须插入数据; 注意事项4: 插入的数据项,要求符合检查约束的要求注意事项5: 具有缺省值的列,可以使用DEFAULT(缺省)关键字来代替插入的数值; 允许为空值的列,可以使用NULL关键字来插入空值。修改数据UPDATE UPDATE语句用于

28、修改表中一列或多列的值,使用where子句限制修改的行。语法格式: UPDATE 表名 SET column1=value1,column2=value2,.。 WHERE 条件;删除数据DELETEDELETE语句向用户提供了删除数据的功能,同UPDATE语句一样限定表中哪些行将被删除。语法格式: DELETE FROM 表名 WHERE 条件; TRUNCATE TABLE 表名 ;二者关系:TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同,二者均删除表中的全部行.但 TRUNCATE TABLE速度快,但不可以回滚;DELETE 速度慢,但可以回滚

29、。 第五章 数据库查询查询基本语法(单表查询):SELECT 列名 FROM WHERE 查询条件表达式 ORDER BY 排序的列名ASC或DESC查询全部的行和列select from stu;查询部分的列:select sid, sname, sex, age from stu;查询满足条件的行的部分列:select sid, sname ,sex from stu where age=20;SQL操作符算术运算符:+ * / % 如:select sal12 from emp;关系运算符: = =between, in, like, is null, 注意:字符类型不区分大小写,bin

30、ary类型区分大小写;如果字符串的后面有空白符,则会自动忽略。逻辑运算符:and or not, , |, !基本查询怎样消除重复行:select distinct deptno , job from emp;使用别名:格式:列名 别名 或 列名 as 别名如:select empno, sal12 “年工资” from emp; 或 select empno, sal*12 as “年工资” from emp;注意:1.如果别名中使用特殊字符,或者是强制大小写敏感,或有空格时,都可以通过为别名添加加双引号实现.2. where子句中不能使用别名。null值:空值是指不可用、未分配的值空值不等

31、于零或空格任意类型都可以支持空值包括空值的任何算术表达式都等于空字符串和null进行连接运算,得到也是null。如何查询null值:使用is nullselect from emp where comm is null;select * from emp where comm is not null;通配符使用通配符进行模糊查询:如:查询名字以S开头的员工: select * from emp where ename like S;基本查询使用逻辑操作指定多个查询条件select empno,ename,job,sal from emp where ename =SMITH or ename=

32、FORD;在where条件中使用in:如:查询SMITH, FORT, KING的员工号、工作,薪水select empno,ename,job,sal from emp where ename in(SMITH,FORD,KING);在where条件中使用between and :select empno,ename,job,sal from emp where sal between 1000 and 2000;注意:数据库执行sql语句时是从右到左的顺序,所以尽可能把最优化条件写右边。基本查询排序使用order by子句进行排序:排序的类型为两种升序asc 、降序desc.数字、日期、字

33、符串可以进行排序。NULL认为是排序中的最大值。 排序方式:按单个列排序select * from emp order by sal desc;按多列排序select from emp order by sal desc, empno ;按别名排序select ename,sal12 “年薪 from emp order by “年薪” asc;一次插入多条语句select into语句语句形式为:create table table2 select vale1, value2 from table1;要求:目标表table2不存在,因为在插入时会自动创建表table2,并将table1中指定

34、字段数据复制到table2中。insert into select from 语句形式为:insert into table2(column1,column2) select col1,col2 from table1;要求:目标表table2已创建好,且从table1表查询出来的列类型应与table2中列的类型一致。 nsert into select value union select value语句形式为:insert into table2(column1,column2) select value1_1,value1_2 union select value2_1,value2_1

35、 union ;作用:将多行值一次性插入到表中。要求:目标表table2已创建好.常用的聚合函数:分组查询: GROUP BYSELECT 列名(条件), MAX(结果列名) AS 要求查询的结果显示列名FROM 表名GROUP BY 列名(条件)分组查询-多列分组:SELECT 列名1(条件),列名2(条件) , AVG(结果列名) AS 要求查询的结果显示列名FROM 表名GROUP BY 列名1(条件),列名2(条件)分组查询HAVING:HAVING的使用 HAVING通常是在GROUP BY的后面SELECT 列名1(条件),列名2(条件), AVG(结果列名) AS 平均成绩FRO

36、M 表名GROUP BY 列名1(条件),列名2(条件)HAVING avg(结果列名)10条件分组查询:WHERE子句从数据源中去掉不符合其搜索条件的数据GROUP BY子句搜集数据行到各个组中,统计函数为各个组计算统计值HAVING子句去掉不符合其组搜索条件的各组数据行ORDER BY 排序使用顺序 先 WHERE 接着1 GROUP BY 接着2 HAVING 最后 ORDER BY with rollup如果group by子句里只有一个数据列,加上with rollup关键字的效果是将在查询结果的最后一行将自动添加一条总数统计记录。如果按多列分组,将会进行阶段性总和(相当于“小计),

37、最后再为全体记录统计一个最终的总和(相当于“总计”)。例: select sno, count(*),avg(score) from sc group by sno with rollup;统计函数的使用:SELECT 字段名,group_concat(DISTINCT 要连接的字段 Order BY ASC/DESC 排序字段 Separator 分隔符) 多表联接查询内联:INNER JOIN外联:-左外联接 (LEFT JOIN)右外联接 (RIGHT JOIN)完整外联接(FULL JOIN) -My SQL 5。0暂不支持交叉联接(CROSS JOIN)内联查询:NNER JOIN叫

38、做等值连接(2个表联接)SQL语法:SELECT * FROM 表名1 INNER JOIN 表名2 ON 表名1。与表名2相同的字段= 表名2.与表名1相同的字段多表联接:SELECT * FROM (表1 INNER JOIN 表2 ON 表1。字段号=表2。字段号) INNER JOIN 表3 ON 表1.字段号=表3。字段号SELECT FROM ((表1 INNER JOIN 表2 ON 表1。字段号=表2。字段号) INNER JOIN 表3 ON 表1。字段号=表3.字段号) INNER JOIN 表4 ON Member。字段号=表4。字段号SELECT * FROM (((表

39、1 INNER JOIN 表2 ON 表1。字段号=表2.字段号) INNER JOIN 表3 ON 表1。字段号=表3。字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号) INNER JOIN 表5 ON Member.字段号=表5。字段号左外联接: 显示左表T1中的所有行,并把右表T2中符合条件加到左表T1中;右表T2中不符合条件,就不用加入结果表中,并且NULL表示.SQL语法:select from T1 left outer join T2 on T1.userid=T2。userid右联(right outer join)。显示右表T2中的所有行,并把

40、左表T1中符合条件加到右表T2中;左表T1中不符合条件,就不用加入结果表中,并且NULL表示SQL语句:select * from T1 right outer join T2 on T1。userid=T2。userid第四:全联(full outer join).显示左表T1、右表T2两边中的所有行,即把左联结果表+右联结果表组合在一起,然后过滤掉重复的。SQL语句:select from T1 full outer join T2 on T1.userid=T2。userid更新关联数据表里的数据记录1. 修改关联数据表里 的数据记录使用updata命令在一条SQL语句中对多个表中 的数

41、据记录做出修改语法: UPDATE product p INNER JOIN productPrice pp ON p.productId = pp。productId SET pp.price = pp.price * 0.8, p。dateUpdate = CURDATE() WHERE p。dateCreated 200401012删除关联数据表里的数据记录:从数据表t1里在数据表t2里没有匹配的记录查找出来并删除掉1 DELETE t1 FROM t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2。id IS NULL 或 DELETE FROM t1,US

42、ING t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL从两个表中找出相同记录的数据并把两个表中的数据都删除掉1DELETE t1,t2 from t1 LEFT JOIN t2 ON t1。id=t2。id WHERE t1.id=25注意此处的delete t1,t2 from 中的t1,t2不能是别名子查询:单行子查询 指只返回一行N列数据的子查询语句。多行子查询指返回多行数据的子查询多列子查询在from子句中使用子查询子查询的本质:多个select语句的嵌套在子查询中使用 any 、all 操作符Any操作符的使用:any则表示,查询语句是以子查询返回的值作为一个范围,在此值范围内进行查询,与比较

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服