一、懂得
1.1【仅供参考】编码格式是防止乱码的,utf-8是完全够的,那几个基本没差别
网址:
【IDEA——连接MySQL数据库,创建库和表】_idea中数据库-CSDN博客
这些是MySQL数据库中的一些术语,可以简单解释如下:
1、columns(列):
指数据库表中的列,也被称为字段。每列定义了表中数据的类型和属性。
2、keys(键):
用于在表中建立索引以加速数据检索的列或列组合。常见类型有主键、唯一键、普通键等。
3、foreign keys(外键):
用于建立两个表之间关系的键。在一个表中,外键指向另一个表中的一个或多个列,它确保了这些列中的值与另一个表的列中的值相匹配。
4、indexes(索引):
用于提高查询效率的数据结构。索引可以建立在一个或多个列上,帮助数据库系统快速地查找和处理数据。
5、checks(检查约束):
用于限制表中某列的取值范围。检查约束可以基于列中的条件表达式或函数,保证表中数据的正确性和完整性。
6、virtual columns(虚拟列):
在MySQL 5.7版本及以上的数据库中,允许用户定义一种特殊的列类型,即虚拟列。虚拟列的值不存储在物理磁盘上,并且由表达式计算得出,可以在查询中使用。
7、virtual foreign keys(虚拟外键):
在MySQL 5.6版本及以上的数据库中,虚拟外键是一种特殊的约束类型,用于建立表与表之间的关系。虚拟外键不需要实际的物理列和索引,而是通过执行类似JOIN的操作在查询过程中计算得出。
二、试试
2.1在 IntelliJ IDEA 2023 中,一键调整代码格式的快捷键是:
- Windows/Linux:`Ctrl + Alt + L`
- macOS:`Cmd + Alt + L`
2.2 所以此处不填,试试
三、新增表数据,举例模板
3.1username
方式1:
方式2:
3.2 id -- 主键
3.3 userAccount![](https://i-blog.csdnimg.cn/blog_migrate/0c335d4ee2a9b2ea9f1811d5a977fc16.png)
3.4 avatarUrl
3.5 gender 性别 tinyint
tinyint
是MySQL数据库中的一种整数数据类型,用于表示小范围的整数值。
它通常用于存储布尔值
(0表示假,1表示真)
后续不用看,此处用不到。
或者
表示具有固定取值范围的枚举类型。
在MySQL中,tinyint类型占用1个字节(8位),可以存储的取值范围是-128到127(有符号)或者0到255(无符号)。可以通过指定有符号或无符号属性来确定其取值范围。
以下是创建一个名为status的tinyint列的示例:
CREATE TABLE example (
id INT,
status TINYINT
);
在此示例中,列status将存储一个范围在-128到127之间的整数值
3.6 userPassword 【非空】
3.7 phone
3.8 email
3.9 userStatus 用户状态 int 0 - 正常 【非空】
3.10 createTime 创建时间(数据插入时间)datetime
3.10.1鱼皮创建报错,因为:选择default出错
【页面不同,不是问题】idea版本不一致,所以有出入
3.11 updateTime 更新时间(数据更新时间)datetime
3.12 isDelete
3.13 userRole
3.14 planetCode 星球编号
四、 理解 go to ddl & 控制台 区别
4.1 go to ddl
4.1.1 代码
create table yupi1
(
username varchar(256) null comment '用户昵称',
id bigint auto_increment comment 'id'
primary key,
userAccount varchar(256) null comment '账户',
avatarUrl varchar(1024) null comment '用户头像',
gender tinyint null comment '性别',
userPassword varchar(512) not null comment '密码',
phone varchar(128) null comment '电话',
email varchar(512) null comment '邮箱',
userStatus int default 0 null comment '状态 : 0--> 正常',
createTime datetime default CURRENT_TIMESTAMP null comment '创建时间',
updateTime datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP,
isDelete tinyint default 0 not null comment '是否删除',
userRole int default 0 not null comment '用户角色 0 - 普通用户 1 - 管理员',
planetCode varchar(512) null comment '星球编号'
);
4.2控制台
4.2.1 打开了默认控制台
4.2.1.1 4种区别:Open Default Console、All 、New Query Console、Query Consoles
1、Open Default Console
这是打开默认的数据库控制台。
如果您需要打开默认的数据库控制台,可以右键单击感兴趣的数据源或其中的任何节点,然后在上下文菜单(F4)中选择“打开控制台(Open Console)”。
2、All
这个选项提供了对所有可用的数据源进行操作的能力,包括但不限于查看、编辑、删除等。
3、New Query Console
这是创建一个新的连接至数据源的Query控制台。
您可以通过右键单击数据源并选择“新建”然后选择“Query Console”来创建新的控制台,
或者点击数据源并按下Alt+Insert键,然后选择“Query Console”。
还可以通过点击数据源并按下Control+Shift+F10键,然后选择“New Query Console”来创建新的控制台。
4、Query Consoles
这是与数据源关联的SQL文件,通过连接会话连接到该数据源。
在Query控制台中,您可以编写和执行SQL语句。
例如,如果您为PostgreSQL打开一个Query控制台,将自动创建一个到PostgreSQL数据源的连接会话。
比较类似于:
公司:sql脚本执行
五、执行,代码更改,需打开默认控制台 : Open Default Console
5.1 一般先删除原表,在进行后续操作,【具体情况,具体分析】
本人控制台
鱼皮控制台
5.1.1两者区别:DROP TABLE IF EXISTS 'user' 和 DROP TABLE 'user'
1、DROP TABLE IF EXISTS 'user'
这个语句会在数据库中删除名为 'user' 的表,但仅当该表存在时才会执行。如果该表不存在,则不会执行任何操作。
2、DROP TABLE 'user'
这个语句会尝试在数据库中删除名为 'user' 的表。如果该表不存在,则会抛出一个异常。
因此,如果您想确保只删除存在的表,并且不想因为表不存在而引发异常,那么应该使用第一个语句。
DROP TABLE IF EXISTS 'user'
5.2先把代码复制过来,在执行删除表的操作。go to dll(只要保证不会出问题,可以调整先后顺序)
5.3 把代码复制到控制台,控制台,就找默认吧
5.4 发现表名不一样,补删除代码语句
5.5删除表操作,选中删除,表没有了
5.6 再选中创建表的语句,进行创建,表又出来了
5.7 代码
DROP TABLE IF EXISTS `yupi1`;
create table yupi1
(
username varchar(256) null comment '用户昵称',
id bigint auto_increment comment 'id'
primary key,
userAccount varchar(256) null comment '账户',
avatarUrl varchar(1024) null comment '用户头像',
gender tinyint null comment '性别',
userPassword varchar(512) not null comment '密码',
phone varchar(128) null comment '电话',
email varchar(512) null comment '邮箱',
userStatus int default 0 null comment '状态 : 0--> 正常',
createTime datetime default CURRENT_TIMESTAMP null comment '创建时间',
updateTime datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP,
isDelete tinyint default 0 not null comment '是否删除',
userRole int default 0 not null comment '用户角色 0 - 普通用户 1 - 管理员',
planetCode varchar(512) null comment '星球编号'
);
六、二次翻工
6.1 copy 上方代码,表名处符合不对
6.2 正确代码如下:
`