数据库约束性条件笔记


1.自建数据库,在数据库中创建一个stu(sno,sname,ssex,sdept,sage)表,通过constraint关键词为列添加约束条件,其中:sno为主键,ssex 的取值男或女,sage取值范围(0-120)。


CREATE DATABASE STUDENT
GO
USE STUDENT
CREATE TABLE stu
(
sno char(12) NOT NULL CONSTRAINT PK_stu PRIMARY KEY,
sname char(10) NOT NULL,
ssex char(10) NOT NULL CHECK(ssex in ('男','女')),
sdept char(20) NOT NULL,
sage int NOT NULL CHECK(sage>0 and sage<120)
)

2.修改表stu,通过constraint为stu的sname列增加一个唯一性约束条件,为stu的sdept列增加默认值为“计算机”约束条件。

ALTER TABLE stu
ADD CONSTRAINT UK_sname UNIQUE(sname),
    CONSTRAINT DF_sdept DEFAULT '计算机' FOR sdept

3.将stu表中sage列的约束条件改为(0-150)。

ALTER TABLE stu
DROP CONSTRAINT CK__stu__sage__00551192
ALTER TABLE stu
ADD CONSTRAINT CK_sage CHECK(sage>0 and sage<150)

4.在数据库中创建一个表score(sno,cno,score),要求:(sno,cno)为主键,sno为外键,同时满足当主表stu中sno中的值修改或者删除时,从表score中的sno值也做相应的修改或者删除,score取值范围(0–100)。

 CREATE TABLE score
(
  sno char(12) NOT NULL
  FOREIGN KEY REFERENCES stu(sno)
  ON DELETE CASCADE
  ON UPDATE CASCADE,
  cno char(12) NOT NULL,
  score int NOT NULL CHECK(score BETWEEN 0 AND 100),
  PRIMARY KEY(sno,cno)
)

5.在自建数据库中创建一个表student(学号,姓名,性别),其中学
号数据类型为用户自定义数据类型Sno_type。

CREATE TYPE Sno_type FROM char(12)
GO
CREATE TABLE student
(
  学号 Sno_type NOT NULL,
  姓名 char(10) NOT NULL,
  性别 char(2) NOT NULL
)

6.定义一个局部变量,并通过该变量获取student表中学号为201901
学生的姓名并输出。

 DECLARE @a char(6)
 SET @a='201901'
    SELECT 姓名 FROM STUDENT WHERE 学号=@a

7.定义两个局部变量var1和var2,给两个变量赋值同时用PRINT输出加法运算之后的结果。

DECLARE @var1 int,@var2 int
SET @var1=123                 
SET @var2=456  
PRINT @var1+@var2

8.定义两个局部变量var3和var4,给两个变量赋值同时用PRINT输出连接运算之后的结果。

DECLARE @var3 char(6),@var4 char(20)
SET @var3='张三'                
SET @var4='是信息工程学院的学生'  
PRINT @var3+@var4

9.从stu表中查询年龄比张三同学大的学生的学号、姓名和年龄。

SELECT     sno AS 学号,sname AS 姓名,sage AS 年龄
FROM stu
WHERE sage>(SELECT sage FROM stu WHERE sname='张三')

10.从student表中查询姓名以王开头,并且包含2个字符的学生的信息。

SELECT *
FROM student
WHERE 姓名 LIKE '王_'

文章作者: Cy_Dragon
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Cy_Dragon !
评论
  目录