mysql语法大全

打印 上一主题 下一主题

主题 777|帖子 777|积分 2331

首先来一个全局总览,后面我会分别对每个下令进行说明:

假如你的mysql导入环境变量,可以在下令行输入:
  1. mysql -u root -p
复制代码
然后输入密码登录数据库
否则,打开mysql command line并输入密码进入数据库

mysql数据范例

MySQL支持多种数据范例,包罗数值范例、日期和时间范例、字符串范例、二进制范例等。下面是MySQL中常用的数据范例:
数值范例:
INT:整数范例,常用于存储整数数据。
FLOAT:单精度浮点数范例,用于存储小数数据。
DOUBLE:双精度浮点数范例,用于存储大数数据。
DECIMAL:定点数范例,用于存储精确的小数数据,通常用于财政盘算。
日期和时间范例:
DATE:日期范例,格式为’YYYY-MM-DD’。
TIME:时间范例,格式为’HH:MM:SS’。
DATETIME:日期时间范例,格式为’YYYY-MM-DD HH:MM:SS’。
TIMESTAMP:时间戳范例,表示从1970年1月1日以来的秒数。
字符串范例:
CHAR:固定长度字符串范例,最多255个字符。
VARCHAR:可变长度字符串范例,最多65535个字符。
TEXT:长文本范例,最多65535个字符。
ENUM:罗列范例,允许从预定义的值列表中选择一个值。
SET:聚集范例,允许从预定义的值聚会合选择一个或多个值。
二进制范例:
BINARY:固定长度的二进制字符串范例。
VARBINARY:可变长度的二进制字符串范例。
BLOB:二进制大对象范例,用于存储大块二进制数据。
其他范例:
BOOL:布尔范例,可以存储True或False。
JSON:JSON数据范例,用于存储JSON格式的数据。
一,底子数据库操作

1.创建数据库
  1. create database my_database;
复制代码
2.查询数据库
  1. show databases;
复制代码

3.删除数据库
  1. drop database my_databases;
复制代码

4.选择数据库
  1. use my_database;
复制代码
5.查询数据表
  1. show tables;
复制代码

6.创建数据表
  1. create table student(id int,name char(10),age int,sex char(5));
复制代码

7.查询表结构
  1. desc student;
复制代码

8.删除表
  1. drop table student;
复制代码
9.数据表添加列
  1. alter table student add height int(10);
复制代码

10.数据表删除列
  1. alter table student drop height;
复制代码

11.数据列改名
  1. alter table student change column height high int(3);
复制代码

12.数据列修改数据范例
  1. alter table student modify column high char(10);
复制代码

13.修改表名
  1. alter table student rename to student_table;
复制代码

14.插入数据项
  1. insert into student(id,name,age,sex,high) value (001,"张三",10,"男",160);
复制代码

15.删除数据项
  1. delete from student where high=140;
复制代码
16.更新数据项
  1. update student set age=12;
复制代码

二,逻辑运算符


  • between 最小值 and 最大值
    语法:select * from 表名 where 列名 between 最小值 and 最大值;
  1. select * from student where id between 2 and 5;
复制代码

作用和使用><是一样的
  1. select * from student where id>2 and id<5;
复制代码

2.null
语法:select * from 表名 where 列名 is null;(判断这一列有空值)
  1. select * from student where high is null;
复制代码


  • in (取值范围)
    语法:select * from 表名 where 列名 in (值1,值2,…)
  1. select * from student where age in(9,12);
复制代码


  • like 似乎
    通配符: % 代表恣意字符 _ 一个下划线代替一个字符
    语法:select * from 表名 where 列名 like ‘通配符 特性 通配符’;
  1. select * from student where name like '张_';
复制代码

具体参考:mysql的like语句
5.as 为表名称或者列名称指定别名
  1. select id as student_id from student where name like '张_';
复制代码

6.union 归并两个或多个select语句结果集
  1. select id from student as st where st.name like '张_' union select name from student where age=9;
复制代码

三,排序

关键词 order by
排序规则:升序排序 asc (默承认省略) 降序排序 desc
语法:
单列 select * from 表名 order by 列名 asc或者 desc;
多列 select * from 表名 order by 列名 asc或者 desc,列名2 asc或者desc,…;
  1. select * from student order by age asc,name desc;
复制代码

四,去重

GROUP BY 和 DISTINCT 都是用于从数据库中选择唯一值的 SQL 子句
两者的不同请参考:mysql的distinct和group by的区别
  1. select distinct age from student;
复制代码
  1. select age,count(*) from student group by age;
复制代码

五,统计函数

语法:select 统计函数(列名),统计函数(列名2)… from 表名;
MySQL中的统计函数,也叫聚合函数,用于在查询中执行聚合操作,比方盘算总和、平均值、最大值、最小值等。下面是MySQL中常用的聚合函数及其解释:
COUNT:盘算指定列或表达式的行数,可以用于统计记载数量。
比方:SELECT COUNT(*) FROM table_name; 将返回表中的记载数。
SUM:盘算指定列或表达式的总和。
比方:SELECT SUM(salary) FROM employees; 将返回 employees 表中 salary 列的总和。
AVG:盘算指定列或表达式的平均值。
比方:SELECT AVG(age) FROM students; 将返回 students 表中 age 列的平均值。
MAX:返回指定列或表达式的最大值。
比方:SELECT MAX(price) FROM products; 将返回 products 表中 price 列的最大值。
MIN:返回指定列或表达式的最小值。
比方:SELECT MIN(quantity) FROM inventory; 将返回 inventory 表中 quantity 列的最小值。
这些聚合函数可以与其他SQL语句结合使用,如WHERE子句用于筛选特定条件的行,GROUP BY子句用于按列进行分组,并可用于盘算每个组的聚合值,ORDER BY子句用于对结果进行排序等。
必要注意的是,聚合函数通常会天生单个结果值,并且假如没有GROUP BY子句,它们将作用于整个结果集。而在有GROUP BY子句的情况下,聚合函数将根据分组进行盘算,天生每个组的聚合结果。
别的,还可以使用HAVING子句对分组后的结果进行进一步的筛选,雷同于WHERE子句对原始数据进行筛选。通过使用这些聚合函数,可以对数据进行统计和汇总,从而得出有关数据集的有用信息。
1.count(列名) 统计这一列的非空总行数
  1. select id,count(*) from student group by id;
复制代码

2.sum(列名) 统计这一列的总和
  1. select sum(id) from student;
复制代码

3.avg(列名) 统计这一列的平均值
  1. select avg(id) from student;
复制代码
4.max(列名) 统计这一列的最大值
  1. select max(id) from student;
复制代码
5.min(列名) 统计这一列的最小值
  1. select min(id) from student;
复制代码
6.array_agg
在MySQL中,ARRAY_AGG函数用于将一列的值聚合为一个数组。它接受一个表达式作为输入,并返回一个包含该表达式的所有值的数组。
ARRAY_AGG函数在MySQL 8.0版本中引入,对于必要将多个行的值归并为一个数组的情况非常有用。它常用于与GROUP BY子句一起使用,以便在分组的结果中天生聚合数组。
  1. ARRAY_AGG(expression)
复制代码
其中:
expression:要聚合为数组的表达式或列。
假设有一个名为orders的表,包含以下列:order_id、customer_id和product_name。我们希望按customer_id分组,并将每个客户的所有订单产品名称聚合到一个数组中。
  1. SELECT customer_id, ARRAY_AGG(product_name) AS ordered_products
  2. FROM orders
  3. GROUP BY customer_id;
复制代码
上面的查询将返回每个客户的customer_id和一个包含他们所有订单产品名称的数组。
必要注意的是,ARRAY_AGG函数只在MySQL 8.0及更高版本中可用。假如MySQL版本较旧,可能无法使用该函数。在较旧的版本中,可以考虑使用GROUP_CONCAT函数来实现雷同的功能,它将多个值毗连为一个字符串。
  1. SELECT customer_id, GROUP_CONCAT(product_name SEPARATOR ',') AS ordered_products
  2. FROM orders
  3. GROUP BY customer_id;
复制代码
上述查询将返回雷同的结果,但是产品名称将以逗号分隔的字符串形式呈现。
六,多表查询

1. 查询的数据来自于多张表—— 表毗连

表毗连有三种情况:
内链接: inner join
外链接:
左外链接: left join 获取左表所有记载,即使右表没有对应匹配的记载,则为空
右外链接: right join 获取右表所有记载,即使左表没有对应匹配的记载,则为空
在 MySQL 中,JOIN 是一种用于将多个表中的数据组合在一起的操作。JOIN 通过在多个表之间比较一个或多个列的值来确定如何组合这些表中的数据。
INNER JOIN:INNER JOIN 返回所有在两个表中都有匹配的行。它是默认的 JOIN 范例,假如没有指定 JOIN 范例,则使用 INNER JOIN。
LEFT JOIN(或 LEFT OUTER JOIN):LEFT JOIN 返回左表中所有的行,以及右表中所有匹配的行。假如右表中没有匹配的行,则返回 NULL 值。
RIGHT JOIN(或 RIGHT OUTER JOIN):RIGHT JOIN 返回右表中所有的行,以及左表中所有匹配的行。假如左表中没有匹配的行,则返回 NULL 值。
FULL JOIN(或 FULL OUTER JOIN):FULL JOIN 返回左表和右表中的所有行,并将没有匹配的行设置为 NULL 值。
以下是在 MySQL 中使用 INNER JOIN 和 LEFT JOIN 的示例:
– INNER JOIN 示例
  1. SELECT orders.order_id, customers.customer_name
  2. FROM orders
  3. INNER JOIN customers
  4. ON orders.customer_id = customers.customer_id;
复制代码
– LEFT JOIN 示例
  1. SELECT customers.customer_name, orders.order_id
  2. FROM customers
  3. LEFT JOIN orders
  4. ON customers.customer_id = orders.customer_id;
复制代码
在上面的示例中,第一个查询使用 INNER JOIN 将 orders 表和 customers 表组合在一起,并根据它们的 customer_id 列进行匹配。第二个查询使用 LEFT JOIN 将 customers 表和 orders 表组合在一起,并根据它们的 customer_id 列进行匹配,返回所有的 customers 表中的行和与之匹配的 orders 表中的行。假如没有匹配的行,则返回 NULL 值。
INNER JOIN 多表查询
  1. SELECT orders.order_id, customers.customer_name, products.product_name
  2. FROM orders
  3. INNER JOIN customers
  4. ON orders.customer_id = customers.customer_id
  5. INNER JOIN products
  6. ON orders.product_id = products.product_id;
复制代码
在上面的示例中,INNER JOIN 用于毗连三个表:orders、customers 和 products。通过毗连 customer_id 和 product_id 列,我们可以获取订单、顾客名称和产品名称的数据。
LEFT JOIN 多表查询
  1. SELECT customers.customer_name, COUNT(orders.order_id)
  2. FROM customers
  3. LEFT JOIN orders
  4. ON customers.customer_id = orders.customer_id
  5. GROUP BY customers.customer_name;
复制代码
在上面的示例中,LEFT JOIN 用于毗连 customers 和 orders 表。通过毗连 customer_id 列,我们可以获取每个顾客名称以及他们的订单数量。由于使用了 LEFT JOIN,假如某个顾客没有订单,他们的订单数量将体现为零。
子查询多表查询
特性:一对 括号 把 查询语句给包起来了,一个查询语句里面 包含了另外一条或多条查询语句
  1. SELECT orders.order_id, orders.order_date, customers.customer_name
  2. FROM orders
  3. INNER JOIN (
  4.   SELECT customer_id, MAX(order_date) AS latest_order
  5.   FROM orders
  6.   GROUP BY customer_id
  7. ) AS latest_orders
  8. ON orders.customer_id = latest_orders.customer_id
  9. AND orders.order_date = latest_orders.latest_order
  10. INNER JOIN customers
  11. ON orders.customer_id = customers.customer_id;
复制代码
在上面的示例中,子查询用于获取每个顾客的最新订单日期。然后,INNER JOIN 用于毗连 orders 表和 customers 表,并将订单日期与最新订单日期进行比较,以获取最新订单的订单号、订单日期和顾客名称。
2. 查询的条件来自于同一张表—— 子查询

MySQL的子查询是指在一个查询语句内部嵌套另一个完备的查询语句。子查询通常用作外部查询的条件、过滤器或盘算字段的泉源。它可以返回一个结果集,供外部查询使用。
子查询可以出现在SELECT、FROM、WHERE、HAVING和INSERT语句的各个部门。
还可以别名结合join使用:
select * from 表名 as 别名1 join 表名 as 别名2 on 别名1.列名=别名2.列名;
SELECT子查询:子查询可以作为SELECT语句的一部门,用于在查询结果中天生一个或多个列。比方:
  1. SELECT column1, column2, (SELECT COUNT(*) FROM table2) AS count FROM table1;
复制代码
在这个例子中,子查询 (SELECT COUNT(*) FROM table2) 返回 table2 表中的行数,并将其作为别名 count 的列添加到外部查询的结果中。
FROM子查询:子查询可以作为FROM子句的一部门,用于在外部查询中引用一个假造表。比方:
  1. SELECT * FROM (SELECT column1, column2 FROM table1) AS subquery;
复制代码
在这个例子中,子查询 (SELECT column1, column2 FROM table1) 返回一个假造表,然后外部查询可以使用这个假造表进行进一步的操作。
WHERE子查询:子查询可以作为WHERE子句的一部门,用于根据子查询的结果过滤外部查询的行。比方:
  1. SELECT column1, column2 FROM table1 WHERE column1 IN (SELECT column1 FROM table2);
复制代码
在这个例子中,子查询 (SELECT column1 FROM table2) 返回一组值,然后外部查询根据这些值过滤出符合条件的行。
子查询使用当前过滤条件:
  1. SELECT
  2.   id,
  3.   COUNT(*) AS xxx,
  4.   max(SELECT song_title FROM online_song_onlinesongmodel AS o WHERE o.id = main.id) as bbb
  5. FROM
  6.   online_song_onlinesongmodel AS main
  7. WHERE
  8.   id LIKE '%3%'
  9. GROUP BY
  10.   id;
复制代码
在这个例子中,子查询SELECT song_title FROM online_song_onlinesongmodel AS o WHERE o.id = main.id使用外部变量作为过滤条件,使用 o.id = main.id作为匹配条件。
HAVING子查询:子查询可以作为HAVING子句的一部门,用于根据子查询的结果过滤外部查询的行(通常与GROUP BY一起使用)。比方:
  1. SELECT column1, COUNT(*) FROM table1 GROUP BY column1 HAVING COUNT(*) > (SELECT AVG(count) FROM table2);
复制代码
在这个例子中,子查询 (SELECT AVG(count) FROM table2) 返回一个平均值,然后外部查询根据这个平均值过滤出满意条件的行。
INSERT子查询:子查询可以作为INSERT语句的一部门,用于将子查询的结果插入到目的表中。比方:
  1. INSERT INTO table1 (column1, column2) SELECT column1, column2 FROM table2;
复制代码
在这个例子中,子查询 (SELECT column1, column2 FROM table2) 返回一组值,并将其插入到 table1 表的相应列中。
这些示例仅展示了子查询的一些常见用法。MySQL的子查询非常灵活,可以用于各种复杂的查询和操作。必要注意的是,子查询的性能可能受到影响,特别是在处理大量数据时。因此,在使用子查询时,必要注意优化查询,确保获得良好的性能。
七,索引

在 MySQL 中创建索引可以大大提高查询服从,加快数据检索速度,他的索引包含 普通索引和唯一索引,以及主键索引
具体参考:mysql索引
八,约束

SQL 约束用于规定表中的数据规则,假如存在违反约束的数据行为,行为会被约束停止。
约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)
  1. CREATE TABLE table_name
  2. (
  3. column_name1 data_type(size) constraint_name,
  4. column_name2 data_type(size) constraint_name,
  5. column_name3 data_type(size) constraint_name,
  6. ....
  7. );
复制代码
在 SQL 中,我们有如下约束:
主键约束(Primary Key Constraint):主键是用于标识表中每行记载的唯一标识符。主键可以是一个或多个列组成,用于唯一标识每一行。主键约束确保主键的值不为空并且唯一。
唯一约束(Unique Constraint):唯一约束确保一个或多个列中的每个值都是唯一的。与主键约束不同,唯一约束可以允许空值。
非空约束(Not Null Constraint):非空约束确保一个或多个列中的值不为空,即不允许 NULL 值。
外键约束(Foreign Key Constraint):外键约束用于定义两个表之间的关系。外键约束可以确保一个表中的数据与另一个表中的数据相匹配,通常用于创建表之间的关联关系。
检查约束(Check Constraint):检查约束用于定义列中允许的值的范围或条件。比方,可以使用检查约束确保一个列中的值不凌驾一定范围。
创建包含主键约束和外键约束的表的示例:
  1. CREATE TABLE orders (
  2.     order_id INT PRIMARY KEY,
  3.     customer_id INT,
  4.     order_date DATE,
  5.     FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
  6. );
复制代码
在上面的例子中,orders 表中的 order_id 列被定义为主键,customer_id 列定义为外键,关联到 customers 表中的 customer_id 列。
可以使用ALTER TABLE语句来给MySQL数据表添加约束,以下是一些常用的约束范例及其示例:
主键约束:
主键是唯一标识数据表中每个记载的列或列组合,可以使用以下语句添加主键约束:
  1. ALTER TABLE table_name ADD PRIMARY KEY (column_name);
复制代码
其中,table_name是数据表名称,column_name是要设置为主键的列名。
唯一约束:
唯一约束用于确保数据表中的某个列或列组合中的值是唯一的。可以使用以下语句添加唯一约束:
  1. ALTER TABLE table_name ADD UNIQUE (column_name);
复制代码
其中,table_name是数据表名称,column_name是要设置为唯一的列名。
外键约束:
外键约束用于确保数据表中的某个列或列组合的值与另一个表中的某个列或列组合的值相匹配。可以使用以下语句添加外键约束:
  1. ALTER TABLE table_name ADD FOREIGN KEY (column_name) REFERENCES other_table_name (other_column_name);
复制代码
其中,table_name是数据表名称,column_name是要设置为外键的列名,other_table_name是关联的其他表名称,other_column_name是在其他表中要匹配的列名。
索引和约束的区别
MySQL中的索引和约束是两个不同的概念,它们虽然都用于确保数据的完备性和提高查询性能,但是具有不同的作用和实现方式。
索引(Index):
索引是一种数据结构,用于快速查找表中的数据。它可以资助数据库系统加快数据检索的速度,特别是在大型数据表中。
MySQL支持多种范例的索引,包罗普通索引、唯一索引、主键索引、全文索引等。
在表中创建索引可以提高查询服从,但是索引也会占用额外的存储空间,并在数据更新时增长额外的开销。
约束(Constraint):
约束是一种规则,用于限定表中数据的值,以确保数据的完备性和划一性。它可以在插入或更新数据时主动执行检查。
MySQL支持多种范例的约束,包罗主键约束、外键约束、唯一约束、默认约束、非空约束等。
约束可以确保表中数据的划一性和正确性,防止插入无效的数据,同时也可以在一定水平上提高数据的查询服从。
虽然索引和约束都可以提高数据库系统的性能和数据完备性,但是它们的作用和实现方式是不同的。索引主要用于加快数据检索的速度,而约束主要用于限定命据的值,确保数据的完备性。在实际应用中,通常会同时使用索引和约束来优化数据库设计和提高系统性能。
九,事故

MySQL 事故是一组操作的聚集,这些操作被视为单个不可分割的工作单元,要么全部完成,要么全部不完成。事故通常用于包管数据库操作的划一性和完备性,并且在处理高并发数据操作时非常有用。
在 MySQL 中,事故具有以下四个特性,通常被称为 ACID 特性:
原子性(Atomicity):事故是一个不可分割的工作单元,事故中的所有操作要么全部完成,要么全部不完成。
划一性(Consistency):在事故开始和结束时,数据库必须保持划一状态。这意味着,在事故执行之前和之后,所有相干的数据必须满意所有预定义的规则。
隔离性(Isolation):每个事故必须与其他事故隔离,以避免数据破坏。隔离级别定义了多个事故可以访问数据库的方式。
持久性(Durability):一旦事故完成,它所做的更改必须永久保存在数据库中,并且不应该被回滚。
在 MySQL 中,可以使用 BEGIN、COMMIT 和 ROLLBACK 语句来控制事故。BEGIN 语句用于启动事故,COMMIT 语句用于提交事故,而 ROLLBACK 语句用于撤消事故。比方,以下是在 MySQL 中使用事故的示例:
  1. BEGIN;  -- 开始事务
  2. UPDATE accounts SET balance = balance - 1000 WHERE id = 1;
  3. UPDATE accounts SET balance = balance + 1000 WHERE id = 2;
  4. COMMIT;  -- 提交事务
复制代码
在上面的示例中,BEGIN 语句用于启动事故,两个 UPDATE 语句用于更新 accounts 表中的记载,COMMIT 语句用于提交事故。假如其中一个 UPDATE 语句失败,可以使用 ROLLBACK 语句来撤消整个事故:
  1. BEGIN;  -- 开始事务
  2. UPDATE accounts SET balance = balance - 1000 WHERE id = 1;
  3. UPDATE accounts SET balance = balance + 1000 WHERE id = 999; -- 无效的ID
  4. ROLLBACK;  -- 撤消事务
  5. COMMIT;
复制代码
在上面的示例中,第二个 UPDATE 语句无效,因为没有 ID 为 999 的记载,以是 ROLLBACK 语句用于撤消整个事故
十,Filter语句

在MySQL中,FILTER子句是一种条件筛选机制,用于在聚合函数中对特定条件的行进行盘算。它允许在聚合函数中使用条件表达式,以仅包罗符合条件的行进行盘算。FILTER子句在MySQL 8.0版本中引入,并且通常与聚合函数(如SUM、COUNT、AVG等)一起使用。
FILTER子句的基本语法:
  1. SELECT
  2.     aggregate_function(expression) FILTER (WHERE condition) AS alias
  3. FROM
  4.     table
  5. GROUP BY
  6.     column;
复制代码
其中:
aggregate_function:聚合函数,如SUM、COUNT、AVG等。
expression:在聚合函数中使用的表达式。
condition:一个条件表达式,用于筛选要包含在聚合盘算中的行。
alias:给盘算结果指定的别名。
table:数据源表格。
column:用于分组的列。
通过FILTER (WHERE condition)子句,可以将条件应用于聚合函数的盘算过程。只有满意条件的行才会被包罗在聚合盘算中,而不满意条件的行将被忽略。
下面是一个示例,说明如何使用FILTER子句来盘算特定条件下的求和:
  1. SELECT
  2.     category,
  3.     SUM(price) FILTER (WHERE quantity > 0) AS total_price
  4. FROM
  5.     products
  6. GROUP BY
  7.     category;
复制代码
在上面的示例中,FILTER (WHERE quantity > 0)子句用于筛选quantity大于0的行,然后盘算满意条件的行的price之和,并将结果用total_price别名表示。
请注意,FILTER子句在MySQL中是一种扩展语法,而在标准SQL中并不常见。因此,该语法可能不适用于其他数据库系统。
十一,WHERE 和HAVING

在 MySQL 中,WHERE 和 HAVING 是用于筛选数据的两个关键字。
WHERE
WHERE 关键字用于在查询中筛选数据,并返回满意指定条件的行。WHERE 关键字可以使用比较运算符(如 =、<、>、<=、>=、<> 等)和逻辑运算符(如 AND、OR、NOT 等)来指定筛选条件。
以下是一个使用 WHERE 关键字的示例:
  1. SELECT customer_name, city
  2. FROM customers
  3. WHERE city = 'New York';
复制代码
在上面的示例中,WHERE 关键字用于筛选出位于纽约市的顾客,并返回其名称和地点都会。
HAVING
HAVING 关键字用于在 GROUP BY 子句中筛选分组数据。它与 WHERE 关键字雷同,但它是在分组后进行筛选的,而不是在查询的所有行上进行筛选的。
以下是一个使用 HAVING 关键字的示例:
  1. SELECT customer_id, COUNT(order_id)
  2. FROM orders
  3. GROUP BY customer_id
  4. HAVING COUNT(order_id) > 2;
复制代码
在上面的示例中,GROUP BY 关键字用于按顾客 ID 进行分组,并盘算每个顾客的订单数量。然后,HAVING 关键字用于筛选出订单数量大于 2 的顾客。请注意,HAVING 关键字只能用于聚合函数(如 COUNT、SUM、AVG、MIN 和 MAX)所返回的数据。
总之,WHERE 和 HAVING 关键字都是用于筛选数据的关键字,但 WHERE 关键字用于筛选行,而 HAVING 关键字用于筛选分组数据。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

雁过留声

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表