主键约束 - 11-15

创建数据库:

MariaDB [(none)]> create database dcf; 

删除数据库:

MariaDB [(none)]> DROP DATABASE dcf;

修改编码格式:

MariaDB [(none)]>  ALTER DATABASE dcf CHARACTER set =utf8

MariaDB [dcf]> CREATE TABLE dcf(     /
-> username VARCHAR(20),            设定名字字符为VARCHAR(20)
-> age TINYINT UNSIGNED,
-> salary FLOAT(8,2) UNSIGNED);

查看数据表的结构

MariaDB [dcf]> show columns from dcf;

插入记录:

INSERT dcf VALUES(‘dcf’,20,9999.9)

插入记录2:

MariaDB [dcf]> INSERT dcf(username,age) VALUES(‘fcd‘,20)

设置表结构,指定列不允许空值:

MariaDB [dcf]> CREATE TABLE td2( username VARCHAR(20) NOT NULL, age TINYINT )

设置主键:

    create table table_test(
`id` varchar(100) NOT NULL,
`name` varchar(100) NOT NULL,
PRIMARY KEY (`name`)
)

如果发现主键设置错了,应该是id是主键,但如今表里已经有好多数据了,不能删除表再重建了,仅仅能在这基础上改动表结构。

先删除主键

alter table table_test drop primary key;

然后再增加主键

alter table table_test add primary key(id);

注:在增加主键之前,必须先把反复的id删除掉。

时间: 2024-10-13 18:18:20

主键约束 - 11-15的相关文章

hibernate中基于主键映射1-1关联关系和基于外键映射1-1关联关系的不同

基于主键映射1-1关联关系和基于外键映射1-1关联关系的不同,主要区别是在配置映射文件上会有区别 两个持久化类为Manager和Department 1:基于主键映射1-1关联关系 1)使用其他持久化类的主键生成主键的实体的映射文件 首先需要指定主键生成方式为foreigner 格式为: <id name="departmentId" type="java.lang.Integer"> <column name="department_i

使用主键约束

一.主键约束 (1) 主键是一列或多列的组合,能够唯一地标识表中的一条记录,加快数据库查询的速度(2) 主键约束要求主键列的数据唯一,并且不允许为空,主键和记录之间的关系是一一对应的(3) 主键分为两种类型:单字段主键和多字段联合主键,单字段主键由一个字段组成,多字段联合主键由多个字段联合组成 二.单字段主键 mysql> CREATE TABLE tb_emp2 -> ( -> id INT(11) PRIMARY KEY, # 定义列的同时定义主键 -> name VARCHA

19、约束之间的比较:主键约束、联合约束、唯一约束、外键约束

约束之间的比较:主键约束.联合约束.唯一约束.外键约束 1.主键约束,primary_key 能唯一确定一张表中的记录,也就是我们通过给某个字段添加约束,就可以使得改字段不重复且不为空. create table test1( id int primary key, name varchar(20) not null ); 1.2.联合约束,只要联合的主键值加起来不重复就可以了,且不为空 create table test2( id int, name varchar(20), password

主键约束,唯一性约束,唯一性索引

1)主键列:比如我们在表A中指定ID为主键,Oracle数据库会自动创建一个同名的唯一索引 可以通过 select constraint_name,constraint_type from user_indexes ui where ui.table_name='A'来查看主键上的唯一索引,如果此时我们在给ID列去创建唯一性索引或者非唯一性索引的话,都会报错,当然指定主键之后自动也会生成主键约束,主键就是一种约束 (2)非主键列:我们在非主键列上创建一个唯一性约束,Oracle同样自动创建了一个

SQL存储原理及聚集索引、非聚集索引、唯一索引、主键约束的关系(补)

索引类型 1.          唯一索引:唯一索引不允许两行具有相同的索引值 2.          主键索引:为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型.主键索引要求主键中的每个值是唯一的,并且不能为空 3.          聚集索引(Clustered):表中各行的物理顺序与键值的逻辑(索引)顺序相同,每个表只能有一个 4.          非聚集索引(Non-clustered):非聚集索引指定表的逻辑顺序.数据存储在一个位置,索引存储在另一个位置,索引中包含指

主键约束

不多说,直接上干货! (1)主键约束PRIMARY KEY (2)每张数据表只能存在一个主键 (3)主键保证记录的唯一性 (4)主键自动为NOT NULL (1)主键约束PRIMARY KEY 1 create table tb3( 2 id smallint unsigned auto_increment primary key, 3 username varchar(30) not null 4 ); 注意:auto_increment必须和主键一起使用,但是这并不代表主键一定要和auto_

oracle数据库添加,查询,删除主键约束

     主键约束在每个表中只有一个,但是一个主键约束可以由多个列组成 可以在创建表的时候就创建主键约束,也可以通过alter语句添加主键约束 1:添加主键约束 [1] 语法: CREATE TABLE 表名(        字段名  primary key,      字段名....., ); 示例: CREATE TABLE student(  id number primary key, name varchar(20), age number(3), email varchar2(50)

主键约束和唯一性约束

主键约束和唯一性约束都是索引,它们的区别是: 主键字段可以确保唯一性,但主键字段不能为NULL. 唯一性约束可以确保唯一性,但唯一性约束的字段可以为NULL 唯一性约束对含有NULL的记录不起作用,即可以重复加入含有NULL的记录,主键字段不能为NULL mysql-workbench无法创建多字段唯一性约束,可以在命令行手工增加增加多字段唯一性性约束mysql>alter table cmd_end_regexp add constraint dev_series_uniq UNIQUE(de

Oracle如何删除主键约束的同时也删除索引

一.现象 在oracle10g中删除主键约束后,在插入重复数据时候仍然报“ORA-00001”错误. 二.原因 Oracle在的10g版本中对内部函数"atbdui"进行了调整,导致在删除约束的时候无法删除用户创建的索引.这个现象被Oracle分类到了“PROBLEM”. 三.方法 在删除约束的时候需要显示的指定“drop index”选项来完成索引的级链删除. 例:alter table table_name drop constraint constraint_name casca

Oracle数据库,非空约束、主键约束、外键约束、唯一约束

非空约束:设置列时,可为空默认可为空,去掉对号之后设置数据不可为空: 唯一约束:在键中设置,唯一约束名称.类型Unique.列名:设置应用完成之后,此列数据具有唯一性:即数据不可重复 主键约束:主键列自动具有非空约束和唯一约束,一个表只能有一个主键约束(自动生成索引,提高查询效率)