精华内容
下载资源
问答
  • oracle 创建表sql语句主键,自增长

    千次阅读 2015-07-03 15:23:25
    创建表之前请必须了解一下两点 1,oracle 没有identity,所以需要自己用squence 和 trigger 配合使用 实现 自增长。 2,oracle中如果使用关键字...现在就直接来sql语句。 检查是否存在该删除 declare


    在创建表之前请必须了解一下两点

    1,oracle 没有identity,所以需要自己用squence 和 trigger 配合使用 实现 自增长。

    2,oracle中如果使用关键字,需要用 双引号引起了。所以下面例子中出现的双引号可以理解成转义的。


    /    在执行多个sql是用 / 可以区分。


    现在就直接来sql语句。


    检查是否存在该表,并删除

    declare 
          num   number; 
    begin 
          select count(1) into num from all_tables where TABLE_NAME = 'TABLEINFO' and OWNER='SCOTT'; 
          if   num=1   then 
              execute immediate 'drop table TABLEINFO'; 
          end   if; 
    end; 
    
    /
    declare 
    num number;
    begin
        select count(1) into num from user_sequences where sequence_name='SEQ_TABLEINFOID';
        if num =1 then
        execute immediate 'drop sequence SEQ_TABLEINFOID';
        end if;
    end;
    
    
    
    
    /
    declare 
    num number;
    begin
        select count(1) into num from user_triggers where trigger_name='TRI_TABLEINFOID';
        if num=1 then
        execute immediate 'drop trigger TRI_TABLEINFOID';
        end if;
    end;
    
    
    /
    CREATE TABLE tableinfo
    (
        "id"               number(4) NOT null,
        tablename           varchar2(40) NOT NULL,
        constraint PK_tableinfoID primary key ("id")
    );
    
    /
    create sequence SEQ_TABLEINFOID
    minvalue 1
    nomaxvalue
    start with 1
    increment by 1
    nocache;
    /
    create trigger TRI_TABLEINFOID
    before insert on TABLEINFO
    for each row
    declare 
    begin
    if inserting and :new."id" is NULL or :new."id" =0 then
    :new."id" :=SEQ_TABLEINFOID.nextval;
    end if;
    end TRI_TABLEINFOID;
    
    


    展开全文
  • mysql 创建 sql语句主键和外键

    万次阅读 2010-08-26 11:01:00
    本文示例使用 Birt ...其中 customers 的 customernumber 字段作为外键出现在 orders 中,而 orders 的 ordernumber 字段做为外键出现在 orderdetails 中。 <br />create TABLE Customers(custome

    本文示例使用 Birt 自带的 Sample 数据源,用到的数据基于图 1 所示的实体关系模型。从这个模型中可以看出,文中示例用到三张数据库表分别为 customersorders orderdetails。其中 customers 表的 customernumber 字段作为外键出现在 orders 表中,而 orders 表的 ordernumber 字段做为外键出现在 orderdetails 表中。

     表关系图

    create TABLE Customers(customerNumber integer not null,
                                          customerName varchar(60),
                                            phone varchar(50),
                                            contactLastName varchar(30),
                                            contactFirstName varchar(30),
                                            addressLine1 varchar(50),
                                            addressLine2 varchar(50),city varchar(50),
                                            state varchar(30),
                                            postalCode varchar(15),
                                            country varchar(30),
                                            salesRepEmployeeNumber integer,
                                            creditLimit decimal(10,4),
                                            primary key(customerNumber)
    ) type=InnoDB;

    --drop table orders;

    create table orders(orderNumber integer not null,orderDate date,
    requireDate date,shippedDate date,status1 varchar(20),
    comments varchar(255),
    cusNumber integer,
    index cus(cusNumber),
    primary key(orderNumber),
    foreign key (cusNumber) references Customers(customerNumber)
    ) type=InnoDB;

    create table OrderDetails (orderNum integer,
                              productCode integer,
                              quantityOrdered integer,
                              priceEach decimal(10,4),
                              orderLineNumber smallint,
                              index orderN(orderNum),
                              foreign KEY (orderNum) references orders(orderNumber)
                              )type=InnoDB;

    展开全文
  • sql语句创建主键

    千次阅读 2016-09-26 11:39:07
    对于有数据的,在企业管理器里面创建索引时,容易超时,使用sql语句只要在,工具-选项设置超时值为0,就不会超时。 在已有表里创建主键:alter table t_inputdata add constraint PK_t_inputdata primary key...

    对于有数据的表,在企业管理器里面创建索引时,容易超时,使用sql语句只要在,工具-选项设置超时值为0,就不会超时。

    在已有表里创建主键:alter table t_inputdata add constraint  PK_t_inputdata   primary   key(sysid,appsysid,areaid,siteid,varietyid,sysupday,priceid,
    periodid,flag135)

     

    sql语句创建有联合主键的表

     

       create   table   tabCheck  

       (  

       check_id   int   not   null,  

       check_no   int   not   null,  

       startdate   datetime,  

       enddate   datetime  

       .......................  

          

       CONSTRAINT   [PK_tabCheck]   PRIMARY   KEY     CLUSTERED   (check_id,check_no)   ON   [PRIMARY]    

       --上面這句一定要用到  

       )    

        

       check_id,check_no是这个表的联合主键

    一个表只允许有一个主键  

        

       但一个主键可以允许由多个字段构成复合主键  

        

        

       所以楼主的写法是不行的,用了多个主键  

       冒牌的可以,由多个字段构成一个主键  

        

        

       而一个表允许多个唯一键,所以如果仅仅是为了限制字段的记录不重复的话,可以用一个主键,多个唯一键的方式.  

    --如果楼主是要   paper_name+author_id   构成复合主键  

       create   table   paper   (  

       paper_name   varchar(50)   not   null,  

       author_id   char(10)   not   null,  

       constraint   PK_paper   primary   key(paper_name,author_id)   --复合主键  

       )  

        

        

       --如果楼主是要   paper_name   与   author_id   的值都不重复,则:  

       create   table   paper   (  

       paper_name   varchar(50)   not   null   primary   key,   --用主键做限制  

       author_id   char(10)   not   null   constraint   UQ_paper_author_id   unique   --用唯一键做限制  

       )  

        

    我们在create table时经常会碰到这样的语句,例如:CityName nvarchar(10)collate chinese_prc_ci_as null,那它到底是什么意思呢?不妨看看下面:

    首先,collate是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影。

    语法是collate collation_name

    collation_name ::={windows_collation_name}|{sql_collation_name}

    参数collate_name是应用于表达式、列定义或数据库定义的排序规则的名称。collation_name 可以只是指定的 Windows_collation_name 或 SQL_collation_name。

    Windows_collation_name 是 Windows 排序规则的排序规则名称。参见 Windows 排序规则名称。

    SQL_collation_name 是 SQL 排序规则的排序规则名称。参见 SQL 排序规则名称。

    下面简单介绍一下排序规则:

    什么叫排序规则呢?MS是这样描述的:"在 Microsoft SQL Server 2000 中,

    字符串的物理存储由排序规则控制。排序规则指定表示每个字符的位模式以及存

    储和比较字符所使用的规则。"

      在查询分析器内执行下面语句,可以得到SQL SERVER支持的所有排序规则。

        select * from ::fn_helpcollations()

    排序规则名称由两部份构成,前半部份是指本排序规则所支持的字符集。

    如:

      Chinese_PRC_CS_AI_WS

    前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则。

    排序规则的后半部份即后缀 含义:

      _BIN 二进制排序

      _CI(CS) 是否区分大小写,CI不区分,CS区分

      _AI(AS) 是否区分重音,AI不区分,AS区分   

      _KI(KS) 是否区分假名类型,KI不区分,KS区分 

         _WI(WS) 是否区分宽度 WI不区分,WS区分 

    区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项。

    区分重音:如果想让比较将重音和非重音字母视为不等,请选择该选项。如果选择该选项,

             比较还将重音不同的字母视为不等。

    区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项。

    区分宽度:如果想让比较将半角字符和全角字符视为不等,请选择该选项

    http://blog.163.com/chao_zz/blog/static/12016788420097835918717/

    展开全文
  • 主键自增长列在进行数据插入的时候,很有用的,如可以获取返回的自增ID值,接下来将介绍SQL Server如何设置主键自增长列,感兴趣的朋友可以了解下,希望本文对你有所帮助
  • 首先在Navicat中创建一张test,将id设置主键。如图: 首先要明白一点就是在把id设置主键后,在编写sql语句插入时,id不能为空。 所以为了在编写insert语句时,为了书写方便。 第一种方法,id写为0。 我们可以...

    首先在Navicat中创建一张表test,将id设置成主键。如图:

    在这里插入图片描述
    首先要明白一点就是在把id设置为主键后,在编写sql语句插入时,id不能为空。
    所以为了在编写insert语句时,为了书写方便。

    第一种方法,id写为0。

    我们可以看到下图sql语句执行成功;

    在这里插入图片描述
    在数据库找到该表打开后可以看到id是自增的。

    在这里插入图片描述

    第二种方法,id写为null

    如图:
    在这里插入图片描述同样打开test表查看id是否是自增的状态。
    在这里插入图片描述
    可以看到插入成功!
    这是在将主键设置成自增时吗,编写sql语句插入语句时,关于主键的两种写入方法。
    这只是我所掌握的,有更好的或者其他的写法,欢迎大家在评论区交流、指正!

    展开全文
  • --删除主键 alter table 表名 drop constraint 主键名 --添加主键 alter table 表名 add constraint 主键名 primary key(字段名1,字段名2……) --添加非聚集索引的主键 alter table 表名 add constraint 主键名 ...
  • alter table 表名 drop constraint 主键名 --添加主键 alter table 表名 add constraint 主键名 primary key(字段名1,字段名2……) --添加非聚集索引的主键 alter table 表名 add constraint 主键名 primary ...
  • --删除主键alter table 表名 drop constraint 主键名--添加主键alter table 表名 add constraint 主键名 primary key(字段名1,字段名2……)--添加非聚集索引的主键alter table 表名 add constraint 主键名 primary ...
  • Mysql数据库Sql语句更改主键设置

    千次阅读 2019-07-17 16:12:39
    可以用modify重置主键类型设置。 alter table 表名 modify 字段名 字段类型(注意:字段类型中不要包含primary key、auto_increment); 2.删除主键 alter table 表名 drop primary key; 3.增加主...
  • SQL主键和外键的作用 SQL主键和外键约束   SQL主键和外键的作用:  外键取值规则:空值或参照的主键值。 (1)插入非空值时,如果主键表中没有这个值,则不能插入。 (2)更新时,不能改为主键表中...
  • 在mvc中做了一个excel导入功能,但是只支持主键不自增的情况,所以想写一个sql语句过滤掉主键之后再往数据库里面插数据,求大神解答。虽然没有悬赏
  • 一,sql语句创建 oracle数据库与mysql数据库的主键自增设置是不同的。 mysql主键自增很简单,在创建主键的时候在主键字段后增加auto_increment就可以实现自增。 但是oracle相比下多了两步操作: ①创建序列:可以...
  • 【学习环境】:sql server 2012【学习内容】:使用sql语句进行库与创建【涉及知识点】:一、数据库的创建 在Sql server 2012中,分为界面操作和代码语句操作,界面操作在后续说明,今天所记为Sql语句的操作 ...
  • excel自动生成创建表sql语句

    千次阅读 2019-01-18 18:09:26
    Sub 选项按钮4_Click() Dim sqlStr, sqlTemp, pkStr, columnName, columnType, columnLength, isPk, notExistTable, isNull, comment As String Dim tableListIndex, columnListIndex As Integer Dim a...
  • 常见SQL语句-创建表 添加主键 添加列  新建: create table [表名] ( [自动编号字段] int IDENTITY (1,1) PRIMARY KEY , [字段1] nVarChar(50) default \'默认值\' null , [字段2] ntext null , [字段3] ...
  • 用一条SQL语句查询数据主键和所有字段
  • SQL语句创建表,多个主键~

    千次阅读 2006-10-19 10:14:00
    创建表,多个主键SQL语句如下:CREATE TABLE 表名(列名1 VARCHAR(2),列名2 INT,列名3 INT,列名4 VARCHAR(100)PRIMARY KEY(列名1,列名2,列名3));
  • 用T-sql语句设置两个主键sqlserver

    千次阅读 2020-03-17 08:54:06
    通过PRIMARY KEY(列名1,列名2)这条语句即可实现
  • ----选择数据库 use ythome go ----查看是否存在 if Exists ( select * from sysobjects where name='sys_menu' and type='U' ) ----删除 begin drop table sys_menu ... ----Primary Key 主键
  • 通过SQL语句设置或删除主键

    万次阅读 2017-07-29 11:54:28
    去除主键  Alter table 表名 Drop Constraint PrimaryKey  解释一下,上面的 PrimaryKey 是完整性约束条件的名字,Access数据库为主键约束默认取名PrimaryKey。当然如果主键约束被自己取了别的名字,这里也要...
  • SQL语句(二)创建主键和约束的数据 内容摘要 创建主键和约束的 创建带组合主键和外键的 1. 创建主键和约束的 Student (学生) CREATE TABLE Student ( sclass...
  • PostgreSQL创建表并设置主键自增

    千次阅读 2020-01-03 09:53:13
    MySQL 设置主键自增策略比较简单 只需要创建表的时候使用关键字AUTO_INCREMENT就可以完成主键自增。但是pg数据库不同于mysql,之前试了 SERIAL 结果不管用。 这里只记录给已创建加入主键自增(适用性广些) 说道...
  • MySQL 设置主键自增策略比较简单 只需要创建表的时候使用关键字AUTO_INCREMENT就可以完成主键自增。但是pg数据库不同于mysql,之前试了 SERIAL 结果不管用。 这里只记录给已创建加入主键自增(适用性广些) 说道...
  • mysql使用SQL语句创建表

    万次阅读 2018-11-19 11:16:26
    使用SQL语句创建一张,不仅可以可以快速创建表,少去了不少时间,还可以从这看出一个人对该技能点的熟悉程度。 下面是一张简单的表创建语句: CREATE TABLE `tb_area`( `area_id` INT(2) NOT NULL AUTO_...
  • 例如 当主键为一个的时候 delect from 表名 where id=@id; 当主键为 (主键一,主键二)时? 怎么删除 sql 语句怎么写?
  • SQL语句在建表之后设置主键(转)

    千次阅读 2011-04-17 23:24:52
    因为主键属于对表的一种约束,所以不能用添加字段的方式来添加,要使用添加约束的方法来设置,可按以下语句设置:alter table xs add constraint [xs_p] primary key...通过SQL查询分析器修改的结构(设置主键)...
  • Oracle 创建表并设置主键自增

    千次阅读 2019-04-25 11:30:00
    Oracle 创建表并设置主键自增 创建数据库 CREATE TABLE STUDENT(ID NUMBER PRIMARY KEY, NAME VARCHAR(200) NOT NULL, SEX VARCHAR(200), CREATE_DATE DATE); 指定表名注释 COMMENT ON TABLE STUDENT IS '...
  • 新建: create table [表名] ( [自动编号字段] int IDENTITY (1,1) PRIMARY KEY , [字段1] nVarChar(50) default \'默认值\' null , [字段2] ntext null , [字段3]

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 268,857
精华内容 107,542
关键字:

创建表的sql语句并设置主键