当前位置:

首页 > 编程开发 > MySQL键值的示例分析

MySQL键值的示例分析

MySQL键值概述键值类型根据数据存储要求,选择键值index普通索引unique唯一索引fulltext全文索引primarykey主键foreignkey外键索引介绍索引是什么?——类似于书的目录——对表中字段进行排序——索引类型包括:Btree(二叉树)、B+tree、hash索引优缺点索引有点——通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性——可以加快数据的查询速度索引缺点——但对表中的数据进行增加、删除和修改的时候,索引也要动态的调整,降低了数据的维护速度——索引需要占物理空间MyS

本文目录

    MySQL 键值概述

    键值类型

    • 根据数据存储要求,选择键值

      • index               普通索引

      • unique             唯一索引

      • fulltext             全文索引

      • primary key     主键

      • foreign key      外键

    索引介绍

    • 索引是什么?

    —— 类似于书的目录

    —— 对表中字段进行排序

    —— 索引类型包括:Btree(二叉树)、B+tree、hash

    MySQL键值的示例分析

    索引优缺点

    • 索引有点

    —— 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性

    —— 可以加快数据的查询速度

    • 索引缺点

    —— 但对表中的数据进行增加、删除和修改的时候,索引也要动态的调整,降低了数据的维护速度

    —— 索引需要占物理空间

    MySQL 键值使用

    Index 普通索引

    • 使用规则

    —— 一个表中可以有多个 index 字段

    —— 字段的值允许重复,且可以赋 NULL 值

    —— 通常把做为查询条件的字段设置为 index 字段

    —— index 字段标志为 MUL

    • 建表时创建索引

    —— index(字段名), index(字段名) .. ..

    mysql> create table 库名.表名(
                 字段列表,
                 index(字段名),
                 index(字段名)
                 );

    创建一个信息表,指定字段中的name和age作为索引(字段name和age中的值要进行排序)

    mysql> create table db2.t2(
    -> name char(10),
    -> age int,
    -> class char(7),
    -> email char(30),
    -> index(name),index(age)
    -> );
    mysql> desc db2.t2;

    MySQL键值的示例分析

    • 查看索引信息

      • 基本查看

    —— desc 库名.表名;      //查看key那一列

      • 详细查看

    —— show index from 表名 \G;
    mysql> show index from db2.t2 \G     //因为有两个字段作为索引,所以下面有两列,\G以列的形式展现输出的结果

    MySQL键值的示例分析

    mysql> show index from db2.t2;      //下图是不加 \G 的效果

    MySQL键值的示例分析

    • 删除索引

    —— drop index 索引名 on 库名.表名;

    mysql> drop index age on db2.t2; //删除索引age
    mysql> desc db2.t2;

    MySQL键值的示例分析

    mysql> show index from db2.t2 \G //只剩下索引name,索引age已被删除

    MySQL键值的示例分析

    向库db2中的表t2中存入数据:

    mysql> insert into db2.t2 values("bob",19,"B180601","stu1@163.com");
    mysql> insert into db2.t2 values("tom",19,"B180602","stu2@163.com");
    mysql> insert into db2.t2 values("lucy",19,"B180603","stu3@163.com");
    mysql> insert into db2.t2 values("jack",19,"B180604","stu4@163.com");
    mysql> select * from db2.t2;       //表中的数据显示是按照插入表记录的顺序排进行排序的

    MySQL键值的示例分析

    索引排序的信息在 t2.frm 和 t2.ibd 文件中

    [root@DB ~]# ls /var/lib/mysql/db2

    MySQL键值的示例分析

    注:没有设置索引的时,查询表数据是按照表顺序逐行进行匹配的;设置索引后,是按照索引的排序来进行查找的(如:BTree、B+Tree、hash)

    • 在已有的表里创建索引

    —— create index 索引名 on 表名(字段名);

    mysql> use db2;
    mysql> show tables;

    MySQL键值的示例分析

    mysql> desc db2.stuinfo;

    MySQL键值的示例分析

    mysql> create index name on db2.stuinfo(name);     //索引名一般情况和字段名一样,索引名也可以用别的名字
    mysql> desc db2.stuinfo;

    MySQL键值的示例分析

    mysql> show index from db2.stuinfo \G;      //查看索引的详细信息

    MySQL键值的示例分析

    primary key主键

    • 使用规则

    —— 字段值不允许重复,且不允许赋NULL值

    —— 一个表中只能有一个primary key字段

    —— 多个字段都作为主键,称为复合主键,必须一起创建

    —— 主键字段的标志是PRI

    —— 主键通常与 auto_increment 连用

    —— 通常把表中唯一标志记录的字段设置为主键

    [记录编号字段]

    • 建表时创建主键

    —— primary key(字段名)

    mysql> create table t8(
                 name char(5) primary key,
                 id int
                 );

    格式一:

    mysql> create table db2.t3(name char(10) primary key,age int);     //设置name字段为主键,但设置完主键后,自动将约束条件是否为空设置为NO(即不允许为空)
    mysql> desc db2.t3;

    MySQL键值的示例分析

    格式二:

    mysql> create table db2.t4(name char(10),age int,primary key(name));     //也可以先将字段创建出来,最后在指定哪个字段为做主键
    mysql> desc db2.t4;

    MySQL键值的示例分析

    向表t3中插入数据

    mysql> insert into db2.t3 values("bob",19);
    mysql> select * from t3;

    MySQL键值的示例分析

    mysql> insert into db2.t3 values("bob",21);      //错误原因,由于字段name是主键,所以字段name中的值不允许重复,表中name字段里面已经有个值为bob了,所以在向字段name赋值时就不能再赋bob值了
    ERROR 1062 (23000): Duplicate entry 'bob' for key 'PRIMARY'
    mysql> insert into db2.t3 values(null,21);     //报错原因,由于字段name是主键,所以字段name不允许赋NULL值
    ERROR 1048 (23000): Column 'name' cannot be null
    • 在已有表里创建主键

    —— 格式

    mysql> alter table 库名.表名 add primary key(字段名);
    mysql> desc db2.t2;

    MySQL键值的示例分析

    mysql> select * from db2.t2;

    MySQL键值的示例分析

    //我们要将字段name设置为主键,所以我们要检查原表中name字段的值,确保没有空(NULL)值和重复的值,如上图所示,表t2中name字段没有空值和重复的值,也可以通过下面的方法
    mysql> select name from db2.t2 where name is null;      //查看name字段中的哪些值为空值,输出结果显示没有
    Empty set (0.01 sec)
    mysql> alter table db2.t2 add primary key(name);      //设置字段name为主键
    mysql> desc db2.t2;

    MySQL键值的示例分析

    • 删除主键

    —— alter table 表名 drop primary key;

    注:移除主键前,如果有自增属性,必须先去掉

    • 创建复合主键

    —— alter table 表名 add primary key(字段名列表);

    注:多个字段都作为主键时,称为复合主键,作为主键的这几个字段里的值,在插入记录时不能同时重复。比如字段class有两个值都为classA,字段name的两个值不能都为tom,即字段name中不能有一样的名字,可以为tom和lucy,但不能都为tom

    创建复合主键,将class字段和name字段都设置为主键

    mysql> create table db2.t5(
        -> class char(7),
        -> name char(10),
        -> money enum("no","yes"),
        -> primary key(class,name)
        -> );
    mysql> desc db2.t5;

    MySQL键值的示例分析

    mysql> insert into db2.t5 values("B180601","bob","yes");
    mysql> select * from db2.t5;

    MySQL键值的示例分析

    mysql> insert into db2.t5 values("B180601","bob","yes");     //报错原因,因为字段class和字段name都为主键,所以这两个字段的值不能同时重复
    ERROR 1062 (23000): Duplicate entry 'B180601-bob' for key 'PRIMARY'
    mysql> insert into db2.t5 values("B180602","bob","yes");     //两个主键字段,只要有一个字段的值没有重复,另外的主键字段不管重复没重复都可以插入
    mysql> insert into db2.t5 values("B180602","tom","yes");
    mysql> select * from db2.t5;

    MySQL键值的示例分析

    注:此时出现一个问题,若同一个班出现名字相同的两个人,然而class字段和name字段都为主键,由于这两个主键字段的值不能同时重复,此时数据是不能插入的。解决方案就是先删除这两个字段的主键,再删除表数据,然后在创建一个stu_num(学号)字段,设置stu_num、class、name字段一起做主键。

    1)删除主键:

    mysql> alter table db2.t5 drop primary key(name);     //错误原因,由于字段class和字段name一起作为主键,所以删除时不能只删除一个,必须同时删除
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(name)' at line 1      
    mysql> desc db2.t5;      //发现主键已被删除

    MySQL键值的示例分析

    2)创建一个新字段stu_num:

    mysql> alter table db2.t5 add stu_num char(9) first;     //添加一个新字段stu_num,并放在表的第一列

    mysql> select * from db2.t5;     //由于要设置字段stu_num为主键,所以字段stu_num的值不能为NULL,所以我们要清空表数据

    MySQL键值的示例分析

    3)清空表数据:

    mysql> delete from db2.t5;
    mysql> select * from db2.t5;     //输出结果显示t5表为空表
    Empty set (0.00 sec)

    4)在已有表里创建复合主键:

    mysql> alter table db2.t5 add primary key(stu_num,class,name);
    mysql> desc db2.t5;

    MySQL键值的示例分析

    mysql> insert into db2.t5 values("B18060101","B180601","bob","yes");
    mysql> insert into db2.t5 values("B18060102","B180601","bob","yes");
    mysql> select * from db2.t5;      //三个字段都为主键,只要其中一个主键的值不重复,那么数据就能插入成功

    MySQL键值的示例分析

    //通过加入学号stu_num字段为,让三个字段都为主键,解决同班同名数据插入的问题

    • 主键与auto_increment(自增) 连用

    mysql> create table t8(
                 id int primary key auto_increment,
                 name char(5)
                 );

    注:要设置自增的前提是,字段必须为主键才可以设置自增;设置自增的字段必须是数值类型的,字符类型是不能自增的。

    示例:创建一个自增主键的表

    mysql> create table db2.t6(
        -> stu_num int primary key auto_increment,
        -> name char(10),
        -> age int
        -> );
    mysql> desc db2.t6;

    MySQL键值的示例分析

    mysql> insert into db2.t6(name,age) values("bob",19);
    mysql> select * from db2.t6;

    MySQL键值的示例分析

    mysql> insert into db2.t6(name,age) values("tom",20);
    mysql> insert into db2.t6(name,age) values("lucy",19);
    mysql> select * from db2.t6;

    MySQL键值的示例分析

    mysql> insert into db2.t6 values(3,"lucy",19);     //错误原因,因为字段stu_num是主键,所以值是不能重复的
    ERROR 1062 (23000): Duplicate entry '3' for key 'PRIMARY'
    mysql> insert into db2.t6 values(9,"lucy",19);     //可以是除了1~3以外的别的数字,可以按顺序,也可以不按顺序
    mysql> select * from db2.t6;

    MySQL键值的示例分析

    mysql> insert into db2.t6(name,age) values("jack",25);     //如果在插入一条数据,这条数据不给stu_num赋值,那么字段stu_num的默认值,是从最大数开始自增赋值,即字段stu_num默认值为10,而不是4
    mysql> select * from db2.t6;

    MySQL键值的示例分析

    示例:如果清空表记录,在插入数据,那么字段stu_num的值是从1开始自增,还是从10开始自增呢?

    mysql> delete from db2.t6;     //清空表记录
    mysql> select * from db2.t6;      //输出结果显示为空表
    Empty set (0.00 sec)
    mysql> insert into db2.t6(name,age) values("bob",18);      //插入一个数据
    mysql> select * from db2.t6;     //虽然删除了表中的全部数据,但是会记录上一次自增到哪个数字了,然后插入的数据会从上一次所记录的数字开始自增

    MySQL键值的示例分析

    mysql> insert into db2.t6(name,age) values(null,"tom",18);      //主键不能为空,但此处我们给主键字段stu_num赋值为NULL,却不报错,原因是空就相当于与没有给字段stu_num赋值,没赋值所以就会以自增的方式进行赋值,所以此处赋值NULL不会报错

    mysql> select * from db2.t6;

    MySQL键值的示例分析

    示例:通常把表中唯一标识记录的字段设置为主键,如记录编号字段

    mysql> alter table db2.stuinfo add id int primary key auto_increment first;
    mysql> desc db2.stuinfo;

    MySQL键值的示例分析

    mysql> select * from db2.stuinfo;

    MySQL键值的示例分析

    foreign key外键

    • 外键功能

    —— 插入记录时,字段值在另一个表字段值范围内选择

    • 使用规则

    —— 表存储引擎必须是innodb

    —— create table 库名.表名(... ...) engine=innodb;      //指定表存储的引擎

    —— 插入记录的表的字段与被参照的表的字段类型要一致

    —— 被参照字段的值要唯一且不能为空,所以必须要是索引类型的主键(primary key)

    • 创建外键

    —— create table 表名(
            字段名列表,
            foreign key(字段名) references 库名.表名(字段名)       //指定外键
            on update cascde                                               //同步更新
            on delete cascade                                               //同步删除
             ) engine=innodb;                                               //指定存储引擎                                                      -5

    创建一个员工表作为参考表:

    mysql> create table db2.yuangong(
        -> id int primary key auto_increment,
        -> name char(20),
        -> sex enum("boy","girl")
        -> )engine=innodb;
    mysql> desc db2.yuangong;

    MySQL键值的示例分析

    mysql> insert into db2.yuangong(name,sex) values("bob","boy");
    mysql> insert into db2.yuangong(name,sex) values("lucy","girl");
    mysql> select * from db2.yuangong;

    MySQL键值的示例分析

    创建一个工资表设置外键,以员工表作为参考表:

    mysql> create table db2.gongzi(
        -> id int,
        -> salary float(7,2),
        -> foreign key(id) references db2.yuangong(id)
        -> on update cascade
        -> on delete cascade
        -> ) engine=innodb;
    mysql> desc db2.gongzi;

    MySQL键值的示例分析

    //如图所示,外键创建成功后会自动创建索引,对数据进行排序,所以标志就是普通索引的标志,我们可以通过另一种方法进行查看
    查看是不是外键的方法:
    mysql> show create table db2.gongzi;      //查看创建表的命令

    MySQL键值的示例分析

    mysql> insert into db2.gongzi values(1,10000);
    mysql> insert into db2.gongzi values(2,20000);
    mysql> select * from db2.gongzi;

    MySQL键值的示例分析

    mysql> insert into db2.gongzi values(3,20000);     //给id为3员工发工资报错,原因:给gongzi表里字段id赋值3,但由于gongzi表设置了外键,将gongzi表的id字段参考了yuangong表的id字段,所以给gongzi表id字段赋值时,这个值必须要在yuangong表的id字段里面有,才能进行赋值。

    ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`db2`.`gongzi`, CONSTRAINT `gongzi_ibfk_1` FOREIGN KEY (`id`) REFERENCES `yuangong` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)

    • 同步更新

    将yuangong表中id字段值为2的改为8:

    mysql> select * from db2.yuangong;

    MySQL键值的示例分析

    mysql> update db2.yuangong set id=8 where id=2;      //将yuangong表中id字段的2改为8,同步更新表gongzi表id字段为2的记录

    mysql> select * from db2.yuangong;

    MySQL键值的示例分析

    mysql> select * from db2.gongzi;     //发现yuangong表的id字段值从2改为8后,gongzi表的id字段的值也从2变为8

    MySQL键值的示例分析

    • 同步删除

    将yuangong表中id字段值为8的删除掉:

    mysql> delete from db2.yuangong where id=8;       //将yuangong表中id字段为8删除掉,同步删除表gongzi表id字段为8的记录
    mysql> select * from db2.yuangong;

    MySQL键值的示例分析

    mysql> select * from db2.gongzi;        //发现yuangong表的id字段值为8被删除后,gongzi表的id字段值为8的也被删除

    MySQL键值的示例分析

    • 注意事项

    mysql> insert into db2.yuangong(name,sex) values("jack","boy");
    mysql> select * from db2.yuangong;

    MySQL键值的示例分析

    mysql> insert into db2.gongzi values(3,30000);
    mysql> select * from db2.gongzi;

    MySQL键值的示例分析

    mysql> insert into db2.gongzi values(3,30000);)
    mysql> insert into db2.gongzi values(3,30000);
    mysql> insert into db2.gongzi values(null,65000);
    mysql> select * from db2.gongzi;

    MySQL键值的示例分析

    注:如上所示,字段id为3的被重复赋值,且字段id也被赋空值。因为参考表yuangong表里的字段id里面的值有1和3,所以gongzi表中的字段id就可以重复赋值1或3。这样赋值在生产环境中很不合理,所以我们通过将gongzi表中的id字段设置为主键,这样就能解决重复赋值和赋值空值的问题。

    1)删除gongzi表的数据

    mysql> delete from db2.gongzi;     //删除gongzi表中的所有记录
    mysql> select * from db2.gongzi;       //查询表记录为空,说明表记录已被删除
    Empty set (0.00 sec)

    2)将字段id设置为主键

    mysql> desc db2.gongzi;

    MySQL键值的示例分析

    mysql> alter table db2.gongzi add primary key(id);      //将gongzi表中的id字段设置为主键
    mysql> desc db2.gongzi;

    MySQL键值的示例分析

    3)进行赋值测试

    mysql> insert into db2.gongzi values(1,10000);
    mysql> insert into db2.gongzi values(3,30000);
    mysql> insert into db2.gongzi values(1,10000);      //再次重复赋值,出现错误,原因是主键不允许有重复的值
    ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'
    mysql> insert into db2.gongzi values(3,30000);      //再次重复赋值,出现错误,原因是主键不允许有重复的值
    ERROR 1062 (23000): Duplicate entry '3' for key 'PRIMARY'
    mysql> insert into db2.gongzi values(null,30000);        //赋空值,出现错误,原因是主键不允许赋空值
    ERROR 1048 (23000): Column 'id' cannot be null
    mysql> insert into db2.gongzi values(2,30000);      //参考表yuangong表中的id字段没有值为2的记录,不在参考表范围内的值不能进行赋值
    ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`db2`.`gongzi`, CONSTRAINT `gongzi_ibfk_1` FOREIGN KEY (`id`) REFERENCES `yuangong` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
    • 删除外键

    —— alter table 库名.表名 drop foreign key 外键名;

    mysql> show create table db2.gongzi;

    MySQL键值的示例分析

    //注:红线圈起来的地方就是外键的名称

    mysql> alter table db2.gongzi drop foreign key gongzi_ibfk_1; //删除外键

    mysql> show create table db2.gongzi; //查看创建表的命令,发现没有创建外键的记录了

    MySQL键值的示例分析

    此时我们就可以插入除了yuangong表id字段的值范围以外的值了

    mysql> insert into db2.gongzi values(2,30000);
    mysql> insert into db2.gongzi values(9,30000);
    mysql> select * from db2.gongzi;

    MySQL键值的示例分析

    由于gongzi表的id字段还是主键,所以不能赋重复的值和空值

    mysql> insert into db2.gongzi values(9,30000);
    ERROR 1062 (23000): Duplicate entry '9' for key 'PRIMARY'
    mysql> insert into db2.gongzi values(null,30000);
    ERROR 1048 (23000): Column 'id' cannot be null
    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 MySQL
    相关文章 更多
    navicat导入数据库步骤详解及常见问题处理教程
    navicat导入数据库步骤详解及常见问题处理教程

    详解Navicat导入数据库的标准步骤,涵盖SQL脚本执行与CSV数据导入两种核心场景。针对导入过程中常见的字符集乱码、主键冲突及外键约束错误,提供具体的设置方法与修复建议,确保数据迁移准确无误。

    SQL主键约束和唯一约束有什么区别
    SQL主键约束和唯一约束有什么区别

    深入理解SQL PRIMARY KEY与UNIQUE约束的区别。文章从行标识与重复限制的目标出发,详解主键的非空特性、外键引用角色以及多数据库对NULL值的处理差异。结合users表实战示例,指导开发者如何根据字段稳定性与业务语义合理选择约束类型,避免设计误区。

    SQL约束有哪些类型及作用
    SQL约束有哪些类型及作用

    刚开始设计关系型数据库?了解PRIMARY KEY、FOREIGN KEY、UNIQUE、NOT NULL、CHECK、DEFAULT等约束的作用、语法和排错方法。本文以PostgreSQL语法为主,结合用户订单场景,清晰展示如何防止脏数据并处理常见约束冲突。

    SQL游标常见错误排查:死锁与资源未释放问题
    SQL游标常见错误排查:死锁与资源未释放问题

    深入解析SQL游标导致的死锁与资源未释放问题。通过PostgreSQL与MySQL语法对比,展示如何识别长事务持锁、分析锁等待链,并提供短事务提交、异常清理及批量处理的最佳实践,确保数据库连接与锁资源及时释放。

    SQL中怎么创建和删除约束
    SQL中怎么创建和删除约束

    后端开发者在维护数据库时,常需对现有表添加主键、唯一或外键约束。若直接执行ADD CONSTRAINT,往往因存量数据不合规导致报错。本文详解操作前的数据清洗步骤、标准SQL语法及MySQL等特殊写法,帮助你在生产环境安全完成结构变更。

    SQL分组统计查询:GROUP BY与HAVING子句用法示例
    SQL分组统计查询:GROUP BY与HAVING子句用法示例

    针对 SQL 初学者的分组统计实战指南。深入解析 GROUP BY 分组机制、WHERE 与 HAVING 的执行时机差异,以及 COUNT 函数对 NULL 值的处理逻辑。通过具体代码示例演示如何正确筛选聚合结果,并排查因 JOIN 连接导致的统计数据异常,提升报表准确性。

    SQL Server与MySQL游标基本语法及完整代码示例
    SQL Server与MySQL游标基本语法及完整代码示例

    本文详细对比SQL Server和MySQL中游标的基本用法。从DECLARE声明到FETCH遍历,再到CLOSE关闭与DEALLOCATE/Handler清理,解析两者在语法结构、变量接收及异常处理上的核心差异。通过标准代码示例展示如何安全使用游标,避免资源泄漏,适用于需要进行数据库存储过程开发或跨平台迁移的开发者。

    SQL多表连接区别:INNER JOIN与LEFT JOIN的使用场景
    SQL多表连接区别:INNER JOIN与LEFT JOIN的使用场景

    深入解析SQL中INNER JOIN与LEFT JOIN的核心区别。通过users和orders表实例,展示匹配行保留与NULL补位机制,重点讲解ON与WHERE子句中放置右表过滤条件的不同后果,提供防止LEFT JOIN退化的实战技巧及行数异常排查步骤。

    SQL CHECK约束的用法与取值范围限制
    SQL CHECK约束的用法与取值范围限制

    深入理解 SQL CHECK 约束在 PostgreSQL、MySQL 等数据库中的实现差异。文章通过订单业务场景,讲解如何定义单列范围与多列逻辑约束,分析 NULL 值对布尔条件的影响,并提供修改已有表结构时的安全操作建议,帮助开发者构建更健壮的数据完整性防线。

    SQL外键约束怎么用及级联操作说明
    SQL外键约束怎么用及级联操作说明

    后端开发中,如何正确使用 SQL 外键约束来维护订单与明细表的关系?本文通过 PostgreSQL 示例,深入讲解外键的创建语法、插入顺序要求,以及 ON DELETE CASCADE、RESTRICT、SET NULL 等策略的实际影响与风险控制,助你构建健壮的数据库结构。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。