学习笔记--【MS SQL 学习:1】

一、SQL语句学习

1.基础语句

创建数据库database_name:

CREATE DATABASE database_name;

获取所有数据库名:

SELECT Name FROM Master..SysDatabases ORDER BY Name;

删除数据库:

DROP DATABASE database_name;

展示database数据库所有表:

use database;
go
select * from sys.tables;

CREATE TABLE - 创建新表
                        
ALTER TABLE - 变更(改变)数据库表
                        
DROP TABLE - 删除表
                        
CREATE INDEX - 创建索引(搜索键)
                        
DROP INDEX - 删除索引

exec sp_help STUDENT_SQL; --查看表结构

exec sp_rename 'STUDENT_SQL','STUDENT_ZL';--修改表名

exec sp_helpindex Reports --查看表的索引

2.约束与数据类型


## SQL 约束  :
约束是在表上的数据列上强制执行的规则。它们用于限制可以进入表中的数据类型。这确保了数据库中数据的准确性和可靠性。
约束可以是列级别,也可以是表级别。列级约束仅应用于一列,而表级约束则应用于整个表。

     NOT NULL 约束:保证列中数据不能有 NULL 值
     
     DEFAULT 约束:提供该列数据未指定时所采用的默认值
     
     UNIQUE 约束:保证列中的所有数据各不相同
     
     PRIMARY KEY 主键约束:唯一标识数据表中的行/记录
     
     FOREIGN KEY 外键约束:唯一标识其他表中的一条行/记录
     
     CHECK 约束:此约束保证列中的所有值满足某一条件
     
     INDEX索引:用于在数据库中快速创建或检索数据
     
     自动递增( auto-increment )主键字段:IDENTITY(1,1) (起始值,增加值)


## SQL SEVER 数据类型
    
    BIT  - 使用BIT数据类型在数据库中存储位数据,即:0,1或NULL。
    INT  - 整数类型,包括:BIGINT,INT,SMALLINT和TINYINT。
    DECIMAL  - 存储精确数值。
    CHAR  - 存储固定长度的非Unicode字符串。
    NCHAR  - 存储固定长度的Unicode字符串
    VARCHAR  -存储可变长度的非Unicode字符串数据。
    NVARCHAR  - 存储可变长度的Unicode字符串数据
    DATETIME2  - 
    DATE - 
    TIME  - 
 

二、表结构操作


**1.create 语句**


创建表,创建表时可以在数据类型后添加约束,约束可为多个
    
 

--例如:创建学生毕业信息表
CREATE TABLE STUDENT_SQL 
    (Id int not null CHECK (Id>0),
    Name nvarchar(50) not null,
    Sex nvarchar(50) CHECK (Sex='男'or Sex='女'),
    Home nvarchar(255),
    School nvarchar(255) DEFAULT '重庆科技学院',
    Graduation_Time datetime ,
    CONSTRAINT pk_PersonID PRIMARY KEY (Id,Name) 
    );

--例如:创建学生信息表
CREATE TABLE STUDENT 
    (Id int not null CHECK (Id>0),
    Name nvarchar(50) not null,
    phone_number varchar(50)  
    );


字段索引


MSSQL默认主键是聚集索引。一个表只能有一个聚集索引(Clustered Index)。

exec sp_helpindex STUDENT_SQL; --查看表的索引

create index NameIndex on STUDENT_SQL(Name); --新增普通索引(非聚集索引)

create unique index Name_UQ  on STUDENT_SQL(Name); --新增唯一索引(非聚集索引)

drop index STUDENT_SQL.NameIndex; --删除索引
drop index STUDENT_SQL.Name_UQ;

create nonclustered index NameFileIndex on STUDENT_SQL(Name,Id);--创建非聚集索引(组合索引)
drop index STUDENT_SQL.NameFileIndex;


    
**2.alter 语句**


更改表
 

--修改表结构
ALTER TABLE STUDENT_SQL ADD NewColumn nchar(5) null; --新增字段
ALTER TABLE STUDENT_SQL ALTER column NewColumn nvarchar(10); --修改字段属性
exec sp_rename 'STUDENT_SQL.NewColumn','OldColumn';--修改字段名
ALTER TABLE STUDENT_SQL DROP column OldColumn; --删除列

--修改约束
ALTER TABLE STUDENT_SQL ADD constraint Name_UQ unique(Name); --新增唯一约束(此非索引)
ALTER TABLE STUDENT_SQL DROP constraint Name_UQ; --删除此约束
ALTER TABLE STUDENT_SQL DROP constraint pk_PersonID; --删除此约束
ALTER TABLE STUDENT_SQL ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id,Name); 


**标识列** - 使用IDENTITY属性为表创建标识列


**3.DROP 语句**


删除表,不能删除有外键约束的表。
   

DROP table STUDENT_SQL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值