第二章 SQL Server2005基础知识

一:SQL Server 2005的数据库对象

    (1).基本对象
    表:包含数据库中所有数据的数据库对象.
   主键:行的唯一标识,可以加快数据库的操作速度.一个表中只能有一个主键,主键的值不可重复,也不可为空(NULL)。 
    外键:表示了两个表之间的联系。
    约束:可以约束字段的列值只能在某某范围之内.
    默认值:可以为字段的列值提供默认值.

   (2).高级对象
      视图,索引,存储过程,触发器,角色,用户

二:数据类型

    精确数字类型;
    近似数字类型;
    日期和时间类型;
    字符数据类型;
    Unicode 字符数据类型;
    二进制字符数据类型;
    其它数据类型。

 

    1、精确数字类型
      (1)精确数字类型包括:
          整数类型;
         1. Bit(位类型);
         2. Decimal和Numeric(数值类型);
         3. Money和SmallMoney(货币类型)。

    2、近似数字类型
        近似数字类型包括Real和Float两大类。

    3. 日期和时间数据类型  

        Datetime,Smalldatetime

    4. 字符数据类型

        Char,Varchar,Text

    5. Unicode 字符数据类型
        Nchar,Nvarchar,Ntext

    6. 二进制字符数据类型
        Binary、Varbinary、Image

 

三:SQL 创建数据库

    采用默认配置的建表语句:create database 数据库名;

    --创建数据库(1)
    CREATE DATABASE test; --此种方式创建的数据库会采用系统默认配置,此种方式首选.

    --创建数据库(2)

    注意此种创建数据库的方法需要注意磁盘分区的文件格式,如果是FAT32格式,则没有什么,
    --如果是NTFS格式的话,就需要注意用户权限问题了.
    CREATE DATABASE test
    ON PRIMARY (  --指定用来存储数据库数据部分的磁盘文件(数据文件)
    NAME='test', --为定义的文件指定逻辑名称,用来在创建数据库后执行的 SQL 语句中引用文件的名称    
    FILENAME='E:\test.mdf', --文件在硬盘上的物理路径
    SIZE=10MB,--初始大小
    MAXSIZE=15MB,--最大值,若要无限大小,则可以写为: UNLIMITED
    FILEGROWTH=20% --当数据库文件大小用完以后,文件的增量,可以用%,也可以用MB,
       --注意,最后一句没有逗号
    )
    LOG ON ( --指定用来存储数据库日志的磁盘文件
    NAME='test_log', --逻辑日志文件,SQL 语句中引用文件的名称
    FILENAME= 'E:\test_log.ldf',--文件在硬盘上的物理路径
    SIZE=3MB,--初始大小
    MAXSIZE=5MB,--最大值,若要无限大小,则可以写为: UNLIMITED
    FILEGROWTH=1MB --增量,注意,无逗号     
    )

    /*删除数据库*/
    DROP DATABASE test;

 

四:利用create命令创建表

    --建表语句
    CREATE TABLE student(
        ID INT,
        STDNAME NVARCHAR(10),
        STDAGE INT,
        STDMARK NUMERIC(4,1)
    )

    --删除表结构
    DROP TABLE student

 

    --修改表结构
    /*给表增加一个ADDRESS(地址)字段,增加时不需要COLUMN关键字*/
    ALTER TABLE student
    ADD ADDRESS VARCHAR(50) NULL

 

    /*删除表的ADDRESS(地址)字段,删除时需要加上COLUMN关键字*/
    ALTER TABLE student
    DROP COLUMN ADDRESS

 

   --修改STDAGE字段属性变为VARCHAR类型
   ALTER TABLE student
   ALTER COLUMN STDAGE VARCHAR(2)

 

  

CREATE DATABASE test;
USE test

--创建数据表的语句
CREATE TABLE student(
	ID INT NOT NULL, --不允许为空
	STDNAME NVARCHAR(50),
	STDAGE INT,
	HTMLMARK NUMERIC(4,1),
	JAVAMARK NUMERIC(4,1),
	NETWORKMARK NUMERIC(4,1)
)
--插入所有字段的值
INSERT INTO student VALUES(1,'张三',20,88.5,90.5,100)
INSERT INTO student VALUES(2,'李四',20,88.5,90.5,100)
INSERT INTO student VALUES(3,'王五',20,88.5,90.5,100)
INSERT INTO student VALUES(4,'赵六',20,88.5,90.5,100)
INSERT INTO student VALUES(5,'林七',20,88.5,90.5,100)
INSERT INTO student VALUES(1,'小明',20,88.5,90.5,100)

--插入指定字段的值
INSERT INTO student(ID,STDNAME) VALUES(2,'李四')
INSERT INTO student VALUES(9,'小王',NULL,NULL,NULL,NULL)

--更新记录值
--影响所有行
UPDATE student SET NETWORKMARK=80
--影响指定行
UPDATE student SET NETWORKMARK=100 WHERE STDNAME='小明'
UPDATE student SET NETWORKMARK=100 WHERE STDNAME='张三'
UPDATE student SET JAVAMARK=100 WHERE ID=9
UPDATE student SET HTMLMARK=80, JAVAMARK=80, NETWORKMARK=80 WHERE STDNAME='林七'

--删除数据
--删除所有行
DELETE FROM student
--删除指定行,并带有多个条件
DELETE FROM student WHERE ID=2 AND STDAGE=20
--删除带有NULL值的语句
DELETE FROM student WHERE ID=2 AND STDAGE=NULL --错
DELETE FROM student WHERE ID=2 AND STDAGE IS NULL --对

--查询数据表所有的内容
SELECT * FROM student

--删除表
DROP TABLE student

--修改表结构
--增加字段
ALTER TABLE student
ADD ADDRESS VARCHAR(50)
--删除字段
ALTER TABLE student 
DROP COLUMN ADDRESS
--修改字段类型
ALTER TABLE student
ALTER COLUMN STDAGE VARCHAR(2)
INSERT INTO student VALUES(1,'小明','AB',88.5,90.5,100)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值