首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MariaDB 表的基本操作

name varchar(20) not null, -> salary float default 500 -> );Query OK, 0 rows affected (0.00 sec)◆设置表自增长...,字段值自动增加1,一个表只能有一个字段使用AUTO_INCREMENT约束,且字段必须为主键的一部分.设置表的自增长语法规则如下:字段名 数据类型 auto_increment实例: 定义一个数据表tab...SQL语句创建好数据表之后,可以查看表结构的定义,以确认表的定义是否正确.在MySQL中,查看表结构可以使用describe和show create table语句....key指定了外键) ENGINE=InnoDB DEFAULT CHARSET=latin11 row in set (0.00 sec)2.使用drop foreign key命令删除外键MariaDB...[lyshark]> alter table tb_emp drop foreign key fk_empdept; #删除tb_emp表中的外键fk_empdeptQuery OK, 0 rows

1.3K20

初始化数据库和导入数据

第一种方法是使用Hibernate提供的工具来创建表结构,该机制会自动搜索@Entity实体对象并创建对应的表,然后使用import.sql文件导入测试数据;第二种方法是利用旧的Spring JDBC,...) REFERENCES `reviewer` (`id`) ); 我们手动创建了数据库表结构,因此需要关掉Hibernate的自动创建开关,即在application.properties中设置spring.jpa.hibernate.ddl-auto...在上文中我们使用了两种不同的方法来初始化数据库和填充测试数据 使用Spring JPA with Hibernate初始化数据库 这种方法中,由Hibernate库完成大部分工作,我们只需要配置合适的配置项...使用Spring JDBC初始化数据库 如果项目中没有用JPA或者你不想依赖Hibernate库,Spring提供另外一种方法来设置数据库,当然,首先需要提供spring-boot-starter-jdbc...spring.jpa.hibernate.ddl-auto=none表示Hibernate不会自动创建数据库表结构。在生产环境中最好用这个设置,能够避免你不小心将数据库全部删除(那一定是一个噩梦)。

1.7K40
您找到你想要的搜索结果了吗?
是的
没有找到

Hibernate学习笔记 多表映射

Hibernate会自动根据所注解的对象生成合适的SQL语句,如果Lob注解到了字符串上,Hibernate会生成CLOB类型对象;如果注解到了byte[]数组之类的上面,就会生成BLOB类型的对象。...如果我们查看一下MySQL的表生成语句,会发现Article表是这个样子的: CREATE TABLE `article` ( `id` int(11) NOT NULL AUTO_INCREMENT...=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 上面的文章实体类还应用了另一个注解JoinColumn,这个注解用来控制数据库外键的行为。...其他的使用方法需要查看官方文档。 @JoinColumn(foreignKey = @ForeignKey(name = "FK_AUTHOR_ID")) 这样,一个基本的外键映射就建立好了。...两个实体类一边需要使用ManyToOne注解,另外一边的集合类使用OneToMany注解。

1.5K10

表——完整约束性规则(键)

,而且为主键) default 为该字段设置默认值 unsigned 无符号 zerofill 使用0填充 说明: 1....字段是否有默认值,缺省的默认值是NULL,如果插入记录时不给字段赋值,此字段使用默认值 sex enum('male','female') not null default 'male' #设置了不能为空...二 not null与default 是否可空,null表示空,非字符串 not null - 不可空 null - 可空 默认值,创建列时可以指定默认值,当插入数据时如果主动设置,则自动添加默认值...ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 #也可以创建表时指定auto_increment的初始值,注意初始值的设置为表选项,应该放到括号外...default 'male' )auto_increment=3; #设置步长 sqlserver:自增步长 基于表级别 create table t1( id

2.3K70

Hibernate 5 在保存数据的时候提示数据库没有选择

没有设置正确的数据库,比如说在连接参数中没有设置,比如说没有在 HBM 文件中没有设置分类等。...其实这个没有选择数据库的错误是因为你主键生成策略没有设置正确。...你可能设置了 @GeneratedValue 这个注解说明的主键生成策略是 Auto,会自动尝试使用序列等方式,这个时候会 因为表找不到,而提示错误。...如果你使用的是 MySQL 或者 MariaDB, 你可以在表中设置自增序列,让数据库来帮你处理主键。...但是在 Hibernate 的 @GeneratedValue 注解中,你需要设置为: @GeneratedValue(strategy = GenerationType.IDENTITY),这样你就不会遇到上面提示的数据库没有找到的错误了

1.5K00

重温MySQL外键约束

也就是说,只要外键的每个非空值出现在指定的主键中,这个外键的内容就是正确的。 4、外键中列的数目必须和父表的主键中列的数目相同。 5、外键中列的数据类型必须和父表主键中对应列的数据类型相同。...mysql:yeyztest ::>>create table fk_test_1( -> id int not null primary key auto_increment, -..._2( -> id int not null primary key auto_increment, -> uid int, -> foreign key fk_uid(uid..._2,其中fk_test_2的uid列上设置外键,关联fk_test_1的表的id列,这里很明显,fk_test_1是父表,而fk_test_2是子表,接下来我们进行数据插入实验。...在上面的测试中,我们反复提到一个词,就是默认情况,我们没有设置外键的删除和更新规则,这里mysql帮我们使用了最严格的的规则,那就是restrict,其实还有其他一些规则,这里全部列出来: delete

6.3K10

MySQL约束

在数据库中对表中的数据进行限制,保证数据的正确性、有效性和完整性。一个表如果添加了约束,不正确的数据将无法插入到表中。约束在创建表的时候添加比较合适。...1.2、约束作用 对表中的数据进行限制,保证数据的正确性、有效性和完整性。一个表如果添加了约束,不正确的数据将无法插入到表中。约束在创建表的时候添加比较合适。...主键是给数据库和程序使用的,不是给最终的客户使用的。所以主键有没有含义没有关系,只要不重复,非空就行。...字段名n 字段类型, )auto_increment=超始值; 创建一个新用户表,表里面有用户名和密码,并设置起始值为100 create table new_user( uid int primary...,内置函数和运算符 2.不允许在使用auto_increment的列上使用 3.不允许存储函数和用户定义的函数 4.不允许子查询等 如果省略或指定为enforced,则创建并强制执行约束。

6.5K10
领券