SQL 全名是结构化查询语言(Structured Query Language),是关系数据库管理系统的标准语言
1、分离数据库:将当前数据库文件和数据库引擎的关系断开,没有任何关系了,这样就可以随意的拷贝、剪切
操作:数据库文件上右键——>任务——>分离——>勾选“删除链接”——>确定
2、脱机:告诉数据库引擎暂停操作当前数据库,也可以随意的拷贝,剪切
主键:
主键就是数据行的唯一标识。不会出现重复数据的列才能当主键。一个表可以没有主键,但是会非常难以处理,因此没有特殊理由表都要设定主键 主键有两种选用策略:业务主键和逻辑主键。业务主键是使用有业务意义的字段做主键,比如身份证号、银行账号等;逻辑主键是使用没有任何业务意义的字段做主键,完全给程序看的,业务人员不会看的数据。因为很难保证业务主键不会重复(身份证号重复)、不会变化(帐号升位),因此推荐用逻辑主键。
业务主键:具有逻辑意义的,如身份证、银行卡、员工编号
逻辑主键:没有任何实际含义,只为了标识当前列在当前数据表里的唯一标识,不可以手动编辑
主键标识列:就算数据行被删除了,增长数字也是按照原来的增长
主外键:
1、作用:为了减少重复数据,把一个表中重复的数据提取出来,单独放在另外一个表中,在原来的表中只要存储一个指向提取出来的数据表的行
3、设置约束
在数据库中选择列名鼠标右键设置CHECK约束:
例如:
classesId(int)的大小不超过10
表达式只需写classesId<10
保存后系统会自动加上括号
([classesId]<(10))
4、添加外键
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 字段=值