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:\下載文件\SQL\Db.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 字段=值