创建、修改、删除表总结

一、创建表

CREATE TABLE  <表名>

(<列名><数据类型>[列级完整性约束条件]

  [,<列名> <数据类型>[列级完整性约束条件]]

     …

  [,表级完整性约束条件]);

如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级也可以定义在表级

例句:

列级约束

create table student(

id int identity(1,1) primary key,

name varchar(20) not null,

sex  CHAR(2)

)

表级约束:Constraint为约束起名

CREATE TABLE Student

(Sno  CHAR(9) ,

Sname  varchar(20) ,

Ssex  CHAR(2) ,

Sage  SMALLINT,

Constraint PK_S PRIMARY KEY(Sno)

);

CREATE TABLE SC

           (Sno   CHAR(9)  NOT NULL,

            Cno  CHAR(4)  NOT NULL, 

            Grade    INT,

Constraint PK_SC PRIMARY KEY (Sno,Cno)

);

列级unique约束

CREATE TABLE Student (

    Sno   CHAR(9) PRIMARY KEY,

    Sname VARCHAR(20) Constraint UQ_s_sname UNIQUE,

    Ssex    CHAR(2),  Sage   SMALLINT,

Sdept  CHAR(15)

);

 

CREATE TABLE Student

        (Sno  CHAR(9) PRIMARY KEY,

          Sname varchar(20) NOT NULL,                    

          Ssex  CHAR(2) ,               

          Sage  SMALLINT,

          Sdept  CHAR(15) ,

          UNIQUE(Sname),

          CHECK (Ssex IN (‘男’,‘女’) )

);

 

CREATE TABLE  Course

 (     Cno  char(4) ,

        Cname  varchar(40),           

        Cpno  char(4)  REFERENCES  Course(Cno) ,

        Ccredit  int,

        Primary Key(Cno)

 );

CREATE TABLE  SC

       (Sno  CHAR(9) REFERENCES Student(Sno) ,

       Cno  CHAR(4), 

       Grade INT DEFAULT 0,

       PRIMARY KEY (Sno,Cno), 

Constraint FK_sc_cno  foreign key (cno) references course(cno)

);

 二、约束类型

(1) PRIMARY KEY约束

(2)NULL/NOT NULL约束

(3)UNIQUE约束

(4) CHECK完整性约束

         检查字段值所允许的范围

(5) FOREIGN KEY约束

(6)DEFAULT 约束

          如果用户在插入新行时没有显示为列提供数据,系统将默认值赋给该列

 

三、数据类型:

SQL中域的概念用数据类型来实现

数据类型

含义

CHAR(n)

长度为n的定长字符串

VARCHAR(n)

最大长度为n的变长字符串

INT

长整数(也可以写作INTEGER

SMALLINT

短整数

NUMERIC(p,d)

定点数,由p位数字(不包括符号、小数点)组成,小数后面有d位数字

REAL

取决于机器精度的浮点数

Double Precision

取决于机器精度的双精度浮点数

FLOAT(n)

浮点数,精度至少为n位数字

DATE

日期,包含年、月、日,格式为YYYY-MM-DD

TIME

时间,包含一日的时、分、秒,格式为HH:MM:SS

 

四、修改基本表

ALTER TABLE <表名>

    [ADD <新列名><数据类型>[ <完整性约束定义]]

    [ ADD  <表级完整性约束> ]

    [ ALTER COLUMN<列名> <数据类型> ]]

    [ DROP <完整性约束定义> ]

  • 注意:

1. 使用ADD方式增加的新列自动填充NULL值,所以当表中有数据时增加的新列不能指定NOT NULL约束

例句:

向Student表增加“入学时间”列,其数据类型为日期型。

 ALTER TABLE Student ADD S_entrance Datetime;  //加列

ALTER TABLE Student ALTER COLUMN Sage INT;   //修改列

ALTER TABLE Course ADD UNIQUE(Cname);      //加约束

  • 表中有数据时:

      Alter Table student ADD scome date default to_date('2008-01-01','yyyy-mm-dd');

 

五、删除基本表

DROP TABLE <表名>[RESTRICT| CASCADE];

 1) RESTRICT:删除表是有限制的。

  • 欲删除的基本表不能被其他表的约束所引用
  • 如果存在依赖该表的对象,则此表不能被删除

 2)  CASCADE:删除该表没有限制。

  • 在删除基本表的同时,相关的依赖对象一起删除

例句:

DROP TABLE  Student  CASCADE ;

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/458943.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 编译查看链接库详情,Linux环境下的编译,链接与库的使用

链接参数控制链接器中提供了-dn -dy 参数来控制使用的是动态库还是静态库&#xff0c;-dn表示后面使用的是静态库&#xff0c;-dy表示使用的是动态库例:g -Lpath -Wl,-dn -lx -Wl,-dy -lpthread 这样如果在path路径下有libx.so和libx.a这个时候只会用到 libx.a.注意在最后的地…

在C++中用虚函数的作用是什么? 为什么要用到虚函数?

***************************************************更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com***************************************************虚函数联系到多态&#xff0c;多态联系到继承。所以本文中都是在继承层次上做文章。没了继…

mysql 主主互备实现

今天星期天&#xff0c;么事就写个MYSQL的主主架构的博客&#xff0c;原理如下图&#xff0c;不是我画的网上找的。主机作用操作系统mysql版本对应IPvip数据库mysqlA(主)centos6.4mysql 5.5.48192.168.48.129192.168.48.126mysqlB(备)centos6.4mysql 5.5.48192.168.48.132一&am…

Linux Deepin 版本大全,Deepin下载-Deepin linuxv20.0 官方版下载-6188手游网

Deepin linux安装准备一&#xff1a;为 Deepin 留出硬盘空间以便安装。1.打开磁盘管理(Windows 徽标上右键单击&#xff0c;选择磁盘管理)。2.选中一个分区(空闲空间大于 30G)&#xff0c;我选择的是 C 盘&#xff0c;因为是固态硬盘所以安装启动会快很多。磁盘 1 的 200G 分区…

动手实践 Linux VLAN - 每天5分钟玩转 OpenStack(13)

本节我们来看如何在实验环境中实施和配置如下 VLAN 网络 配置 VLAN 编辑 /etc/network/interfaces&#xff0c;配置 eth0.10、brvlan10、eth0.20 和 brvlan20。 下面用 vmdiff 展示了对 /etc/network/interfaces 的修改 重启宿主机&#xff0c;ifconfig 各个网络接口 用 brct…

Socket的3次握手链接与4次断开握手

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** 连接握手&#xff1a; 1.客户端发送建立连接请求 &#xff08;发送请求&#xff09;2.…

Linux桌面需要强制访问控制,RHCSA 系列(十三): 在 RHEL 7 中使用 SELinux 进行强制访问控制...

RHCSA 认证&#xff1a;SELinux 精要和控制文件系统的访问尽管作为第一级别的权限和访问控制机制是必要的&#xff0c;但它们同样有一些局限&#xff0c;而这些局限则可以由安全增强 Linux(Security Enhanced Linux&#xff0c;简称为 SELinux)来处理。这些局限的一种情形是&am…

使用canvas实现擦玻璃效果

体验效果:http://hovertree.com/texiao/html5/25/效果图&#xff1a;代码如下&#xff1a; <!DOCTYPE html> <html> <head lang"zh"> <meta name"viewport" content"initial-scale1.0, maximum-scale1.0, user-scalableno, widt…

如何计算时间复杂度

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** 求解算法的时间复杂度的具体步骤是&#xff1a; ⑴ 找出算法中的基本语句&#xff1b;…

linux显示系统信息软件下载,linux查看系统信息软件安装信息命令学习笔记

查看LINUX安装版本[rootlocalhost etc]# unameLinux[rootlocalhost etc]# uname -aLinux localhost.localdomain 2.6.32-279.11.1.el6.i686 #1 SMP Tue Oct 16 14:40:53 UTC 2012 i686 i686 i386 GNU/Linux[rootlocalhost etc]# cat /proc/versionLinux version 2.6.32-279.11.…

Bzoj 2662: [BeiJing wc2012]冻结 dijkstra,堆,分层图,最短路

2662: [BeiJing wc2012]冻结 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 647 Solved: 348[Submit][Status][Discuss]Description “我要成为魔法少女&#xff01;” “那么&#xff0c;以灵魂为代价&#xff0c;你希望得到什么&#xff1f;” “我要将有关魔法和奇…

[转]opencv学习资料

转自&#xff1a;http://blog.csdn.net/poem_qianmo/article/details/20537737 1&#xff1a;Mat imread(const string& filename, intflags1 ); eg: Mat image0imread("dota.jpg",CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);//载入最真实的图像 ge1i…

linux servlet 乱码问题,Servlet一次乱码排查后的总结

由来在写一个小小的表单提交功能的时候&#xff0c;出现了乱码&#xff0c;很奇怪request上来的参数全部是乱码&#xff0c;而从数据库查询出来的中文显示到页面正常&#xff0c;锁定肯定是request对象那里出了问题。后来经过排查&#xff0c;发现是我封装的框架中出了问题&…

C/C++回调函数

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** 对于很多初学者来说&#xff0c;往往觉得回调函数很神秘&#xff0c;很想知道回调函数…

Linux 命令[2]:mkdir

make directories mkdir -p [目录名] -p 递归创建 [rootlocalhost ~]# mkdir -p test [rootlocalhost ~]# ls anaconda-ks.cfg install.log install.log.syslog test 当然只创建一个目录 -p 是可以省略的 注&#xff1a;如果创建多级目录没有 -p 会报错 如&#xff1a; [roo…

jQuery动态设置样式List item

前段时间&#xff0c;Insus.NET有修改一个功能《激活当前视图菜单高亮呈现》http://www.cnblogs.com/insus/p/5287093.html 今天Insus.NET想改用另外一个方法来实现&#xff0c;使用jQuery。在ASP.NET MVC 环境实现&#xff1a; 代码&#xff1a; <ul><li><a hr…

linux telnet 权限,允许telnet 通过root用户进行访问

允许telnet 通过root用户进行访问RHEL6:[rootclovem ~]# yum install telnet-server -y //安装telnet服务端[rootclovem ~]# cat /etc/xinetd.d/telnet //开启telnet的托管服务# default: on# description: The telnet server serves telnet sessions; it uses \#unencrypt…

TOUGHRADIUS 项目介绍

2019独角兽企业重金招聘Python工程师标准>>> TOUGHRADIUS 项目介绍 ToughRADIUS是一个开源的Radius服务软件&#xff0c;采用于 Apache License 2.0 许可协议发布&#xff0c;从创立之日起&#xff0c;他的宗旨就是服务于中小微ISP&#xff0c;让运营变得更简单。 T…

转:Jmeter 用户思考时间(User think time),定时器,和代理服务器(proxy server)...

在负载测试中需要考虑的的一个重要要素是思考时间&#xff08;think time&#xff09;&#xff0c; 也就是在两次成功的访问请求之间的暂停时间。 有多种情形挥发导致延迟的发生&#xff1a; 用户需要时间阅读文字内容&#xff0c;或者填表&#xff0c;或者查找正确的链接等。未…

linux sql语句传参数,Linux/Unixshell参数传递到SQL脚本

在数据库运维的过程中&#xff0c;Shell 脚本在很大程度上为运维提供了极大的便利性。而shell 脚本参数作为变量传递给SQL以及SQL脚本也是DB在数据库运维的过程中&#xff0c;Shell 脚本在很大程度上为运维提供了极大的便利性。而shell 脚本参数作为变量传递给SQL以及SQL脚本也…