SQL 全名是结构化查询语言(Structured Query Language),是关系数据库管理系统的标准语言

1、分离数据库:将当前数据库文件和数据库引擎的关系断开,没有任何关系了,这样就可以随意的拷贝、剪切
操作:数据库文件上右键——>任务——>分离——>勾选“删除链接”——>确定

2、脱机:告诉数据库引擎暂停操作当前数据库,也可以随意的拷贝,剪切

主键:

主键就是数据行的唯一标识。不会出现重复数据的列才能当主键。一个表可以没有主键,但是会非常难以处理,因此没有特殊理由表都要设定主键 主键有两种选用策略:业务主键和逻辑主键。业务主键是使用有业务意义的字段做主键,比如身份证号、银行账号等;逻辑主键是使用没有任何业务意义的字段做主键,完全给程序看的,业务人员不会看的数据。因为很难保证业务主键不会重复(身份证号重复)、不会变化(帐号升位),因此推荐用逻辑主键。

业务主键:具有逻辑意义的,如身份证、银行卡、员工编号
逻辑主键:没有任何实际含义,只为了标识当前列在当前数据表里的唯一标识,不可以手动编辑
主键标识列:就算数据行被删除了,增长数字也是按照原来的增长
主外键:
1、作用:为了减少重复数据,把一个表中重复的数据提取出来,单独放在另外一个表中,在原来的表中只要存储一个指向提取出来的数据表的行

3、设置约束

在数据库中选择列名鼠标右键设置CHECK约束:
例如:
classesId(int)的大小不超过10

表达式只需写classesId<10

保存后系统会自动加上括号
([classesId]<(10))

SQLServer基本操作-冯金伟博客园 SQLServer基本操作-冯金伟博客园

4、添加外键

SQLServer基本操作-冯金伟博客园

SQLServer基本操作-冯金伟博客园       SQLServer基本操作-冯金伟博客园   

SQL基本语句大全:

1、建数据库:

create database stuDB 
on  primary  -- 默认就属于primary文件组,可省略,直接写on
(
/*--数据文件的具体描述--*/
    name='stuDB',  -- 主数据文件的逻辑名称
    filename='D:stuDB.mdf', -- 主数据文件的物理名称
    /*如下size、maxsize、filegrowth可省略*/
    size=5mb, --主数据文件的初始大小
    maxsize=100mb, -- 主数据文件增长的最大值
    filegrowth=15%--主数据文件的增长率
)
/*如下log on日志文件可省略*/
log on
(
/*--日志文件的具体描述,各参数含义同上--*/
    name='stuDB_log',
    filename='D:stuDB_log.ldf',
    size=2mb,
    filegrowth=1mb
)
//简写版
create database Db
on
(
    name='Db',
    filename='D:下载文件SQLDb.mdf'
)

2、建表:

create table 表名
(
    id int identity(1,1) primary key,--identity(1,1)设置增长率,primary key设置主键
    name nvarchar(50) not null,
    age int not null
)

3、删表中的数据,表还在

delete from 表名

4、清空表中数据、重置表中数据

TRUNCATE TABLE 表名

如果有delete会产生很多的日志(表中有多少条数据,就会产生多少条日志),如果truncate就会产生一行日志

5、直接删除表(慎用),彻底删除表,表不存在

drop table 表名

增删改查

1、增加语句:

insert into 表名(列名)values(对应的值)

insert into Db(name,age) values('admin',123);

注:增加的时候,bit字段要用0或1表示,时间字段用单引号,但是里面还是要遵循基本的时间格式
列名可以省略,但是除了标识列,其余的字段都必须按顺序,按数量地给赋值
插入的数据中有单引号的时候,需要输入两个单引号

2、删除

delete from 表名
delete from 表名 where 字段=

3、修改数据:

update 表名 set 字段=

where:后面可以有多个条件判断,多个条件中间用and隔开
and优先于or执行
is是对空值(null)的判断,直接用=号是不起作用的,空格可以使用=号
update 表名 set 列名=值,列名=值 where 条件 and 条件

4、查

select * from 表名 where 字段=