精华内容
下载资源
问答
  • sql主键_SQL主键

    千次阅读 2020-07-17 05:24:52
    sql主键In a world driven with data all over, it is very easy to get duplicate data. The nightmare of any database table designer is to create a table with the possibility of duplicate data insertion. ...

    sql主键

    In a world driven with data all over, it is very easy to get duplicate data. The nightmare of any database table designer is to create a table with the possibility of duplicate data insertion. To overcome the problem of duplicate rows, SQL primary key is used to uniquely identify each row.

    在充满数据的世界中,获取重复数据非常容易。 任何数据库表设计人员的噩梦都是创建一个可能重复插入数据的表。 为了克服重复行的问题,SQL主键用于唯一地标识每一行。

    SQL主键 (SQL Primary Key)

    A Primary key is a column or set of columns that can uniquely identify a row. When we create a table we should specify the primary key. Also, primary key creation comes with a set of rules mentioned below.

    主键是可以唯一标识一行的一列或一组列。 创建表时,应指定主键。 同样,主键创建带有下面提到的一组规则。

    1. A primary key can not be null.

      主键不能为空。
    2. A primary key must always contain unique values. If its a combination of multiple columns that the combination must be unique.

      主键必须始终包含唯一值。 如果是多个列的组合,则该组合必须是唯一的。
    3. One table can have only one primary key.

      一个表只能有一个主键。

    Let us now try to understand primary key creation for the below mentioned databases.

    现在让我们尝试了解以下提到的数据库的主键创建。

    1. MySQL

      MySQL
    2. PostgreSQL

      PostgreSQL
    3. SQL Server

      SQL服务器

    MySQL主键 (MySQL Primary Key)

    Syntax: –

    句法: -

    CREATE TABLE <table_name>(<column_name1> <data_type> NOT NULL,
    <column_name2> <data_type> NOT NULL,
    <column_name3> <data_type> NOT NULL,
    PRIMARY KEY (column_name1));

    In the syntax above, a PRIMARY KEY keyword is used to specify that the column will be used a the primary key for the table.

    在上面的语法中,PRIMARY KEY关键字用于指定该列将用作表的主键。

    Let’s create a customer table to understand this better.

    让我们创建一个客户表来更好地理解这一点。

    CREATE TABLE customer
    (cust_id varchar(8) NOT NULL UNIQUE, 
    cust_name varchar(50) NOT NULL, 
    state varchar(25), 
    country varchar(25),
    PRIMARY KEY (cust_id) );

    Post-execution of the above query at MySQL workbench. The following screen will appear.

    在MySQL工作台上执行以上查询。 将出现以下屏幕。

    On performing a table inspection following screen will appear.

    进行桌子检查时,将出现以下屏幕。

    Primary Key Column

    Primary Key Column

    主键列

    The value for Unique column is “YES” which mean that the column will accept a unique value. Also, the key column has row value “PRIMARY” and the row value for columns column specifies the column that will be the primary key.

    “唯一”列的值为“ YES”,表示该列将接受唯一值。 此外,键列的行值为“ PRIMARY”,而列的行值指定要作为主键的列。

    PostgreSQL主键 (PostgreSQL Primary Key)

    Syntax: –

    句法: -

    CREATE TABLE <table_name>(<column_name1> <data_type> NOT NULL,
    <column_name2> <data_type> NOT NULL,
    <column_name3> <data_type> NOT NULL,
    PRIMARY KEY (column_name(n)));

    In the syntax above, a PRIMARY KEY keyword is used to specify that the column or set of columns will be used a the primary key for the table.

    在上面的语法中,PRIMARY KEY关键字用于指定将某个列或一组列用作表的主键。

    Let’s create an Employee table to understand this better.

    让我们创建一个Employee表以更好地理解这一点。

    CREATE TABLE Employee(
    employee_no integer PRIMARY KEY,
    employee_name character(50),
    employee_city character(35),
    employee_phn numeric);

    In the table above, we are creating primary key using just one column “employee_no”. Following is the query that should be used for the creation of a table with multiple columns.

    在上表中,我们仅使用一列“ employee_no”来创建主键。 以下是用于创建具有多列的表的查询。

    CREATE TABLE Employee(
    employee_no integer,
    employee_name character(50),
    employee_city character(35),
    employee_phn numeric,PRIMARY KEY (employee_no,employee_phn));

    In the table above, we are creating primary key using two columns “employee_no and employee_phn”.

    在上表中,我们使用两列“ employee_no和employee_phn”创建主键。

    Post-execution of the above query at PGAdmin. The following screen will appear.

    在PGAdmin上执行以上查询。 将出现以下屏幕。

    On checking the properties of the table.

    在检查表的属性时。

    Primary Key Column PostgreSQL

    Primary Key Column PostgreSQL

    主键列PostgreSQL

    SQL Server主键 (SQL Server Primary Key)

    Syntax: –

    句法: -

    CREATE TABLE <table_name>(<column_name1> <data_type> NOT NULL,
    <column_name2> <data_type> NOT NULL,
    <column_name3> <data_type> NOT NULL,
    PRIMARY KEY (column_name(n)));

    In the syntax above, a PRIMARY KEY keyword is used to specify that the column or set of columns will be used a the primary key for the table.

    在上面的语法中,PRIMARY KEY关键字用于指定将某个列或一组列用作表的主键。

    Let’s create an Employee table to understand this better.

    让我们创建一个Employee表以更好地理解这一点。

    CREATE TABLE Employee(
    employee_no integer PRIMARY KEY,
    employee_name character(50),
    employee_city character(35),
    employee_phn numeric);

    Post-execution of the above query at SQL Server Management Studio. The following screen will appear.

    在SQL Server Management Studio中执行上述查询。 将出现以下屏幕。

    On expanding the table structure.

    关于扩展表结构。

    Primary Key Column SQLServer

    Primary Key Column SQLServer

    主键列SQLServer

    摘要 (Summary)

    The primary key is the most important aspect of any database table. When you design the tables, use primary keys wisely. Make sure to understand the data that will be inserted in the table and then find the unique value to assign the primary key. If there are no unique values, you can add an extra column with auto-increment values for the primary key.

    主键是任何数据库表中最重要的方面。 设计表时,请明智地使用主键。 确保了解将插入表中的数据,然后找到唯一值以分配主键。 如果没有唯一值,则可以为主键添加一个带有自动递增值的额外列。

    翻译自: https://www.journaldev.com/29294/sql-primary-key

    sql主键

    展开全文
  • sql 主键

    千次阅读 2012-04-11 17:19:13
    SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录。 主键必须包含唯一的值。 主键列不能包含 NULL 值。 每个表都应该有一个主键,并且每个表只能有一个主键SQL PRIMARY KEY ...

    SQL PRIMARY KEY 约束

    PRIMARY KEY 约束唯一标识数据库表中的每条记录。

    主键必须包含唯一的值。

    主键列不能包含 NULL 值。

    每个表都应该有一个主键,并且每个表只能有一个主键。

    SQL PRIMARY KEY Constraint on CREATE TABLE

    下面的 SQL 在 "Persons" 表创建时在 "Id_P" 列创建 PRIMARY KEY 约束:

    MySQL:

    CREATE TABLE Persons
    (
    Id_P int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    PRIMARY KEY (Id_P)
    )
    

    SQL Server / Oracle / MS Access:

    CREATE TABLE Persons
    (
    Id_P int NOT NULL PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
    )
    

    如果需要命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束,请使用下面的 SQL 语法:

    MySQL / SQL Server / Oracle / MS Access:

    CREATE TABLE Persons
    (
    Id_P int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    CONSTRAINT uc_PersonID PRIMARY KEY (Id_P,LastName)
    )
    

    SQL PRIMARY KEY Constraint on ALTER TABLE

    如果在表已存在的情况下为 "Id_P" 列创建 PRIMARY KEY 约束,请使用下面的 SQL:

    MySQL / SQL Server / Oracle / MS Access:

    ALTER TABLE Persons
    ADD PRIMARY KEY (Id_P)
    

    如果需要命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束,请使用下面的 SQL 语法:

    MySQL / SQL Server / Oracle / MS Access:

    ALTER TABLE Persons
    ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
    

    注释:如果您使用 ALTER TABLE 语句添加主键,必须把主键列声明为不包含 NULL 值(在表首次创建时)。

    撤销 PRIMARY KEY 约束

    如需撤销 PRIMARY KEY 约束,请使用下面的 SQL:

    MySQL:

    ALTER TABLE Persons
    DROP PRIMARY KEY                                     mysql想干嘛,总是用不同的表达??
    

    SQL Server / Oracle / MS Access:

    ALTER TABLE Persons
    DROP CONSTRAINT pk_PersonID
    
    展开全文
  • 如果需要修改SQL主键约束,该SQL语句应该怎么写呢?下面就将教您SQL主键约束的修改语句写法,如果您遇到过类似的问题,不妨一看。 --修改SQL主键约束用SQL --获取SQL主键约束名字 declare @csname varchar(100) ...
    如果需要修改SQL主键约束,该SQL语句应该怎么写呢?下面就将教您SQL主键约束的修改语句写法,如果您遇到过类似的问题,不妨一看。
    --修改SQL主键约束用SQL
    --获取SQL主键约束名字
    declare @csname varchar(100)
    set @csname=''

    select @csname=name
    FROM sysobjects
    WHERE xtype='PK' AND parent_obj=object_id('表名')

    --删除约束
    exec('alter table 表名 drop constraint ' + @csname)

    --禁用约束(不校验)
    exec('alter table 表名 nocheck constraint ' + @csname)

    --启用约束(校验)
    exec('alter table 表名 check constraint ' + @csname)

    --添加约束
    alter table 表名 add constraint 主键约束名 primary key (列名)

    例: if not exists ( SELECT *
    from syscolumns
    where id = object_id('accPF_RefFAcctID')
    and name = 'id')
    ALTER TABLE accPF_RefFAcctID
    ADD id INT IDENTITY(1,1) CONSTRAINT PK_accPF_RefFAcctID PRIMARY KEY (id)
    展开全文
  • sql主键的一种形成方式

    千次阅读 2017-09-13 10:31:08
    (1):建立insert语句 sql的主键使用单独的sql主键生成语句 (2):生成主键的单独sql语句 (3):生成主键的样子 代码: insert id="addyhprocess" parameterType="com.oig.bean.Check"> insert ...

    现象:
    sql插入的时候生成一种指定的主键

    方法:
    (1):建立insert语句 sql的主键使用单独的sql主键生成语句
    这里写图片描述
    (2):生成主键的单独sql语句
    这里写图片描述
    (3):生成主键的样子
    这里写图片描述

    代码:

        <!-- sql新增 -->
        <insert id="addyhprocess" parameterType="com.oig.bean.Check">
            insert into yh_process (flags,sysflags,idx,statusdate,vprepare,predate,remark,modifydate,modifier,ordcode,icode) 
            values(1,1,#{code},#{checktime},'9999',GETDATE(),#{remark},GETDATE(),#{wcode},#{ordcode},(<include refid="getIcodePrimary"/>))
        </insert>
        <!-- 进行的新增id形成 -->
        <sql id="getIcodePrimary">
            select (case when (select count(1) from yh_process where icode like 'A_______________')>0 
            then (select 'A'+right(REPLICATE('0',15) + rtrim((max(replace(icode,'A',''))+1)),15) 
            as icode from yh_process where icode like 'A_______________')
            else (select 'A000000000000001')
            end) as icode
        </sql>
    展开全文
  • SQL 主键和索引的区别

    万次阅读 多人点赞 2018-04-01 10:18:21
    (1)创建表时,不能在同一个字段上建立两个索引(主键默认建立唯一索引),在需要经常查询的字段上建立索引(如:deal_id已经是主键,不能再次执行:create index tmp_table_index on tmp_table(deal_id),会报错);...
  • Sql 主键设置

    千次阅读 2018-01-18 08:50:41
     2>、对于主键的命名,使用表名+ID的形式。 3>、作为外键的列的名字应该与它们所对应的主键的列名相同,除非该外键维护的是一种自反/递归的关系。 4>、避免使用缩写。2、主键设计原则 1>、主键用途:惟一标识一...
  • sql主键约束

    千次阅读 2018-03-17 10:52:37
    数据字段属性:UNSIGNED :无...AUTO_INCREMENT :自动增长的,通常用于设置主键,且为整数类型,可定义起始值和步长;NULL 、NOT NULL :空 和 非空DEFAULT :默认的,用于设置默认值 MySQL主键(Primary Key)是唯...
  • SQL主键简单表述

    2017-03-02 22:24:08
    主键(PRIMARY KEY 约束):PRIMARY KEY 约束唯一标识数据库表中的每条记录。 主键就是唯一的,其是索引的一种,并且是唯一性索引的一种。 其实主键就像我们的身份证一样,每一个主键的id就表示着一个特定的一个行...
  • T-SQL 主键删除与主键添加

    千次阅读 2019-05-03 15:57:38
    删除主键 Alter table 表名 Drop Constraint Primary Key 添加主键 Alter table 表名 Add Constraint PrimaryKey Primary Key (主键字段名) 撤消主键 alter table [Student] drop primary key (S_id) 增加主键 ...
  • SQL 主键与外键的关系

    千次阅读 2018-04-25 10:15:27
    转载:点击打开链接SQL主键和外键的作用:外键取值规则:空值或参照的主键值。(1)插入非空值时,如果主键表中没有...简而言之,SQL主键和外键就是起约束作用。主键、外键和索引的区别定义:主键--唯一标识一条记...
  • SQL主键约束和外键约束

    千次阅读 2018-01-17 10:45:06
    主键约束 SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录。 主键必须包含唯一的值。 主键列不能包含 NULL 值。 每个表都应该有一个主键,并且每个表只能有一个主键。 CREATE TABLE ...
  • SQL 主键的用法

    千次阅读 2015-03-07 12:29:40
    主键 (Primary Key) 中的每一笔资料都是表格中的唯一值。换言之,它是用来独一无二地确认一个表格中的每一行资料。主键可以是原本资料内的一个栏位,或是一个人造栏位 (与原本资料没有关系的栏位)。主键可以包含一或...
  • sql 主键表与外键表的区分

    千次阅读 2018-07-13 09:29:37
    主键表和外建表是相对来说的,简单的说就是一个表的主键是另外一张表的外键。例如class 班级表主要字段如下:classId PRIMARY KEY(主键)班级IDclassName 班级名称studen 学生表主要字段如下stuId PRIMARY KEY...
  • sql主键和外键的区别

    千次阅读 2015-10-13 23:56:20
    什么是主键: 数据库主键是指表中一个列或者列的组合,其值能够唯一的标识表中的每一个行。这样的一列或者多列成为表的主键,通过它可以强制表的实体完整性。当创建或者更改表时可以通过定义PRIMARY KEY约束来创建...
  • 1.主键:唯一标识一条数据; 值不能为空 不能重复 标识列:一旦将一个列设置成标识列,它就不能再手动输入值,是插入数据时自动生成的。这个列的类型必须的不带小数的数值型,整型 标识列的标识种子: 第一条数据...
  • 因同步数据业务需要,主键被设定为varchar(32),而自动生成的newid()是36位的,需要将中间的横线去掉,才合适。为此写如下标量函数: CREATE FUNCTION get_32guid ( @id uniqueidentifier ) RETURNS varchar(32) AS...
  • 1.找到数据库视图化工具在右面 2 3.按加号
  • 由于Mybatis不鼓励捕捉异常,但在某些特定场景下需要捕捉。 代码如下: try{ dao.inser(entity); } catch (Exception e){ if(e instanceof DuplicateKeyException){ return -2; }else { return -1;... }
  • 整理电脑文档时,看到以前做的关于int,varchar类型做主键的一个小测试,将代码又在sql里走了一遍,发现竟然区别不是那么明显,可能跟我的测试数据量比较小或者电脑配置有关吧。 先建立两张表,表结构一样,只是有一...
  • sql 复合主键 联合主键 If you’ve already worked with databases, then you could hardly miss the term – Primary Key (PK). And if you’re reading this series and use it to learn about databases, well,...
  • SQL - 主键

    千次阅读 2015-07-30 10:11:07
    我在 CSDN 学院发布的 SQL 入门视频教程。 主键是表中唯一标识表的每一行/记录的字段。主键必须包含唯一值。主键列不能为NULL值。 一个表只能存在一个主键,可以由一个或多个列组成。包含多个列的主键称为复合主键...
  • SQL 修改主键

    千次阅读 2016-02-23 14:34:55
    Sql 简单修改主键
  • SQL修改主键

    2020-06-28 19:39:04
    1.删除原主键 alter table 表名 drop primary key; 2.设置新主键 alter table 表名 add primary key (属性名1,属性名2,…); 3.注意 (1)“key"与”("之间要有空格,否则会报错; (2)删除原主键的前提是当前的表里...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 373,560
精华内容 149,424
关键字:

sql主键