zoukankan      html  css  js  c++  java
  • SQL Server创建表语句介绍

    原链接:https://blog.csdn.net/kepa520/article/details/78793431?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-3.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-3.no_search_link

    SQL Server创建表是最常见也是最常用的操作之一,下面就为您介绍SQL Server创建表的语句写法,供您参考,希望可以让您对SQL Server创建表方面有更深的认识。

    1. USE suntest  
    2. create table 仓库  
    3. (  
    4. 仓库编号 int ,   
    5. 仓库号 varchar(50) ,   
    6. 城市 varchar(50) ,   
    7. 面积 int  
    8. )  
    9. create table 仓库1  
    10. (  
    11. 仓库编号 int not null ,   
    12. 仓库号 varchar(50) not null,   
    13. 城市 varchar(50) not null, --不能为空not null--  
    14. 面积 int  
    15. )  
    16. create table 仓库2  
    17. (  
    18. 仓库编号 int primary key , --主键的关键字primary key--  
    19. 仓库号 varchar(50) unique, --唯一索引关键字unique--  
    20. 城市 varchar(50) not null, --不能为空not null--  
    21. 面积 int  
    22. )  
    23. create table 仓库3  
    24. (  
    25. 仓库编号 int primary key , --主键的关键字primary key--  
    26. 仓库号 varchar(50) unique, --唯一索引关键字unique--  
    27. 城市 varchar(50) default '青岛', --不能为空not null--  
    28. 面积 int check (面积>=300 and 面积<=1800)  
    29. )  
    30. create table 职工表  
    31. (  
    32. 职工编号 int identity (1,1) primary key,  
    33. 职工号 varchar(50) unique,  
    34. 仓库号 varchar(50),  
    35. 工资 int check(基本工资>=800 and 基本工资<=2100),  
    36. )  
    37. create table 订单表  
    38. (  
    39. 订单编号 int identity(1,1) primary key,  
    40. 订单号 varchar(50) unique,  
    41. 职工号 varchar(50) references 职工表(职工号),--references两张表通过“职工号”关联--  
    42. 订购日期 datetime,  
    43. 销售金额 int  
    44. )  
    45. create table 阳光工资表  
    46. (  
    47. 职工编号 int identity (1,1) primary key,  
    48. 职工号 varchar(50) unique,  
    49. 仓库号 varchar(50),  
    50. 基本工资 int check(基本工资>=800 and 基本工资<=2100),  
    51. 加班工资 int,  
    52. 奖金 int,  
    53. 扣率 int,  
    54. 应发工资 as (基本工资+加班工资+奖金-扣率) --as为自动计算字段,不能输入值--  

    以上就是SQL Server创建表语句介绍。

    http://blog.csdn.net/woshisap/article/details/7333893

    1:在sql语句中,临时表有两类,分别是局部(local)和全局(global)临时表,局部临时表只在其会话(事务)中可见,全局临时表可以被会话(事务)中的任何程序或者

      模块访问

    2:创建局部临时表

         

    [sql]  view plain  copy
     
    1. use db_sqlserver  
    2. go  
    3. create table #db_local_table  
    4. (  
    5.   id  int,  
    6.   name varchar(50),  
    7.   age int,  
    8.   area int  
    9. )  

    创建的临时表不能与其他会话共享,当会话结束时,行和表的定义都将被删除

    3:创建全局临时表

    [sql]  view plain  copy
     
    1. use db_sqlserver  
    2. go  
    3. create table ##db_local_table  
    4. (  
    5.   id  int,  
    6.   name varchar(50),  
    7.   age int,  
    8.   area int  
    9. )  

    全局临时表对所有用户都是可见的,在每个访问该表的用户都断开服务器连接时,全局临时表才会被删除


    4:创建主键、外键关联的数据库表

    [sql]  view plain  copy
     
    1. use db_sqlserver;  
    2. go  
    3. create table db_table5  
    4. (  
    5.   职工编号 int primary key,  
    6.   职工号  varchar(50) unique,  
    7.   仓库号  varchar(50),  
    8.   工资   int  
    9. )  
    10.   
    11. go  
    12. create table db_table6  
    13. (  
    14.   订单编号 int primary key,  
    15.   订单号  varchar(50) unique,  
    16.   职工号 varchar(50) references db_table5(职工号),  
    17.   订购日期 datetime,  
    18.   销售金额 int  
    19. )  

    5:创建具有check约束字段的数据库表

    [sql]  view plain  copy
     
    1. use db_sqlserver;  
    2. go  
    3. create table db_table7  
    4. (  
    5.   仓库编号 int primary key,  
    6.   职工号  varchar(50) unique,  
    7.   仓库号  varchar(50),  
    8.   工资   int,  
    9.   面积  int check(面积>=600 and 面积<=1800)  
    10. )  


    6:创建含有计算字段的数据库表

      

    [sql]  view plain  copy
     
    1. use db_sqlserver;  
    2. go  
    3. create table db_table8  
    4. (  
    5.   职工编号 int primary key,  
    6.   职工号 varchar(50) unique,  
    7.   仓库号 varchar(50),  
    8.   基本工资 int check(基本工资>=800 and 基本工资<=2100),  
    9.   加班工资 int,  
    10.   奖金 int,  
    11.   扣率 int,  
    12.   应发工资 as (基本工资 + 加班工资 + 奖金 - 扣率)  
    13. )  

    7:创建含有自动编号字段的数据库表

        

    [sql]  view plain  copy
     
    1. use db_sqlserver;  
    2. go  
    3. create table db_table9  
    4. (  
    5.    仓库编号 int identity(1,1) primary key,  
    6.    仓库号 varchar(50) unique,  
    7.    城市 varchar(50) default('青岛'),  
    8.    面积 int check(面积>=300 and 面积<=1800)  
    9. )  

    向表中添加记录:

    [sql]  view plain  copy
     
    1. insert into [db_sqlserver].[dbo].[db_table9](仓库号, 面积) values('400', 1600);  

    仓库编号会自动增加

    8:创建含有排序字段的数据表

    [sql]  view plain  copy
     
    1. create table db_table10   
    2. (  
    3.    仓库编号 int identity(1, 1) primary key,  
    4.    仓库号 varchar(50) collate french_CI_AI not null,  
    5.    城市 varchar(50) default '青岛',  
    6.    面积 int check(面积>=300 and 面积<=1800)  
    7. )  


    仓库号是一个排序字段,其中CI(case insensitive)表示不区分大小写,AI(accent insensitive)表示不区分重音,即创建的是一个不区分大小写

    和不区分重音的排序。如果要区分大小和和区分排序,修改代码为:French_CS_AS

    9:动态判断数据库表是否存在

    [sql]  view plain  copy
     
    1. use db_sqlserver;  
    2. go  
    3. if(Exists(select * from sys.sysobjects where id=OBJECT_ID('db_table9')))  
    4.   print '数据库表名已经存在'  
    5.     
    6. else   
    7.   print '该数据库表名不存在,可以利用该名创建表'  

    10:查看表的各种信息,可以查看指定数据库表的属性、表中字段属性、各种约束等信息

    [sql]  view plain  copy
     
    1. use db_sqlserver;  
    2. go  
    3. execute sp_help db_table9;  

    11:用select语句查看数据库表的属性信息

    [sql]  view plain  copy
     
    1. use db_sqlserver;  
    2. go  
    3. select * from sysobjects where type='U'  


    12:重命名数据库表

    [sql]  view plain  copy
     
    1. use db_sqlserver;  
    2. go  
    3. execute sp_rename "db_table9", "db_renametable"  


    13:增加数据库表的新字段
      

    [sql]  view plain  copy
     
    1. use db_sqlserver;  
    2. go  
    3. alter table db_table1 add 电子邮件 varchar(50)  
    4. alter table db_table1 add 联系方式 varchar(50) default '0532-88886396'  
    5.   
    6. select name 字段名, xusertype 类型编号, length 长度 from syscolumns where id = object_id('db_table1')  






    14:修改数据库表的字段

    [sql]  view plain  copy
     
    1. use db_sqlserver;  
    2. go  
    3. alter table db_table1 alter column 电子邮件 varchar(200)  
    4.   
    5.   
    6. select name 字段名, xusertype 类型编号, length 长度 from syscolumns where id = object_id('db_table1')  




    15:删除数据库表字段

    [sql]  view plain  copy
     
    1. use db_sqlserver;  
    2. go  
    3. alter table db_table1 drop column 电子邮件   
    4.   
    5.   
    6. select name 字段名, xusertype 类型编号, length 长度 from syscolumns where id = object_id('db_table1')  





    16:删除数据库表
     

    [sql]  view plain  copy
     
    1. use db_sqlserver;  
    2. go  
    3. drop table db_table1  
    4. drop table db_table1, db_table2  


    如果删除有依赖关联的数据库表,即主键、外键关键表、则要删除两个表之间的关联约束,然后才能删除表。注意,也可以先删除引用该表的数据库表,然后
    即可删除该表,

    http://www.yiibai.com/sql/sql-create-table.html

    创建基本表中涉及命名表并定义其列,每列的数据类型。

    SQL的CREATE TABLE语句用于创建新表。

    语法

    CREATE TABLE语句的基本语法如下:

    CREATE TABLE table_name(
       column1 datatype,
       column2 datatype,
       column3 datatype,
       .....
       columnN datatype,
       PRIMARY KEY( one or more columns )
    );

    CREATE TABLE是关键字告诉数据库系统你想做什么。在这种情况下,你要创建一个新表。唯一的名称或标识表如下CREATE TABLE语句。

    然后在括号的列定义在表中的每一列是什么样的数据类型。使用下面的一个例子,语法变得更清晰。

    可以使用CREATE TABLE语句和SELECT语句的组合来创建从现有表的副本。您可以查看完整的详细信息使用另一个表创建表 。

    示例:

    下面是一个例子,它使用ID作为主键并且为NOT NULL来创建一个客户表的约束,这些字段不能为NULL在创建该表的记录时:

     
     
    SQL> CREATE TABLE CUSTOMERS(
       ID   INT              NOT NULL,
       NAME VARCHAR (20)     NOT NULL,
       AGE  INT              NOT NULL,
       ADDRESS  CHAR (25) ,
       SALARY   DECIMAL (18, 2),       
       PRIMARY KEY (ID)
    );

    您可以验证,如果你的表已成功创建,可通过查看SQL服务器显示的消息,也可以使用DESC命令,如下所示:

    SQL> DESC CUSTOMERS;
    +---------+---------------+------+-----+---------+-------+
    | Field   | Type          | Null | Key | Default | Extra |
    +---------+---------------+------+-----+---------+-------+
    | ID      | int(11)       | NO   | PRI |         |       |
    | NAME    | varchar(20)   | NO   |     |         |       |
    | AGE     | int(11)       | NO   |     |         |       |
    | ADDRESS | char(25)      | YES  |     | NULL    |       |
    | SALARY  | decimal(18,2) | YES  |     | NULL    |       |
    +---------+---------------+------+-----+---------+-------+
    5 rows in set (0.00 sec)

    现在数据库,可以用它来存储用户所需的信息在CUSTOMERS表。

  • 相关阅读:
    数据结构算法练习(一)
    crontab详解
    git遇到问题
    docker容器管理
    docker及服务器遇到的坑
    shell study
    低级终端IO
    高级IO
    信号处理
    UNIX日期与时间
  • 原文地址:https://www.cnblogs.com/chenguangzhen/p/15406452.html
Copyright © 2011-2022 走看看