首先SQL不是資料庫,資料庫的應用離不開SQL。 SQL是結構化查詢語言(Structured Query Language)的縮寫。網上有很多這樣的教程。 資料庫系統(DataBase System)是以資料庫應用為基礎的計算機系統。由資料庫、硬體(計算機硬體設備)、軟體(資料庫管理系統 、操作系統)、用戶(應用程序設計員、終端用戶、資料庫管理員 )組成。 你所說的資料庫應該指的就是資料庫產品,大型的有ORACLA,SYBASE,DB2,INFORMIX,SQL SERVER等等。而SQL就是這些關系型資料庫使用的標准語言。 所以你要設計資料庫,必須選擇一個適用你的資料庫產品,甚至小型的桌面資料庫如ACCESS之類的也可以。 對於資料庫的詳細使用,前提是必須要安裝相應的產品,然後需要掌握基本的SQL知識之後,才能實現你的要求,這是必要的過程!例:使用SQL建表語句如下: create table curricula( curricula_id int not null, --課程號 curricula_name char(20) not null, --課程名
2. SQL資料庫如何設計表的格式
基礎表 礦井產量分類 回採煤量
掘進煤量
其他煤量
煤種分類 貧煤
貧瘦煤
…
指標名稱 11 入洗量
12 精煤
121 精煤級別
8級
9級
…
122 精煤種類
肥精
焦精
…
13 中煤
14 煤泥
月計劃 年月
礦井產量分類
煤種分類
計劃量
實際發生 日期
礦井產量分類
煤種分類
指標
產量
預算內,預算外還要具體了解一下吧
3. sql語句設計,在線等,急!
在線等,急!
4. T-SQL程序設計(用戶自定義函數)
很簡單,但是以後最好能認真點, 首先你問問提至少要帶個請字吧,大學老師留的課題你直接抄過來就完事了?
給你說最後一個
create function f_tableinfo
(
@tableName nvarchar(200)
)
returns @result table (
ColName nvarchar(200),
ColType nvarchar(200),
ColLength int,
ColIsNull bit
)
as
begin
insert into @result(ColName,ColType,ColLength,ColIsNull)
select
c.[name] as ColumnName,
t.[name] as ColumnType,
c.max_length as MaxLength,
c.is_nullable as [IsNull]
from sys.columns c
inner join sys.types t on c.system_type_id=t.system_type_id
where c.[object_id]=object_id(@tableName) and t.[name]<>'sysname'
order by c.column_id
return
end
5. SQL 表結構設計
#三個表 代課教師表 科目表 成績表
#成績表的欄位是這樣的
#學號 姓名 語文 數學 英語
成績表的欄位應該是
學號 科目ID 成績
學號 和 科目ID 兩個欄位作聯合主鍵
避免一個學號有2個語文成績的情況出現
#代課教師表
#班級 科目名稱 代課教師
代課教師表的欄位應該是
班級ID 科目ID 代課教師ID
班級ID 和 科目ID 兩個欄位作聯合主鍵
避免一個班級有2個老師上語文課
#科目表
#科目ID 科目名稱
科目表沒有問題
科目ID主鍵
增加
學生表
學號 學生姓名 班級ID(班級表.班級ID的外鍵)
學號主鍵
班級表
班級ID 班級名
班級ID主鍵
教師表
代課教師ID 代課教師姓名
代課教師ID主鍵
#成績表中的語文、數學、英語就是科目名稱
#想生成
# 代課教師 總分 均分 及格率 優秀率
#語文
#數學
#英語
#成績表中的語文、數學、英語就是科目名稱
#總也設計不好查詢,經大夥提示,說成績表的結構不對。
應該是想生成
科目名稱 代課教師姓名 總分 均分 及格率 優秀率
吧
這個sql 還是有點小復雜的,
麻煩的地方是,需要結合成績表,學生表,代課教師表三個
表,來確定一個學生的各科成績到底是屬於哪個老師的
具體的你自己練習一下吧
6. sql程序設計
建議樓主不要用觸發器,那樣會耗費很大資源,數據會出錯。如果那兩個表並發插入數據量很大的話,會出問題。建議還是用軟體來寫。
7. sql語句創建表
創建新表的程序功能為:
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
具體為:
創建之前判斷該資料庫是否存在
if exists (select * from sysdatabases where name='databaseName')
drop database databaseName
go
Create DATABASE databasename
on primary-- 默認就屬於primary文件組,可省略
(
/*--數據文件的具體描述--*/
name=『databasename_data』,-- 主數據文件的邏輯名稱
filename=『'所存位置:databasename_data.mdf』, -- 主數據文件的物理名稱
size=數值mb, --主數據文件的初始大小
maxsize=數值mb, -- 主數據文件增長的最大值
filegrowth=數值%--主數據文件的增長率
)
log on
(
/*--日誌文件的具體描述,各參數含義同上--*/
name='databasename_log', -- 日誌文件的邏輯名稱
filename='所存目錄:databasename_log.ldf', -- 日誌文件的物理名稱
size=數值mb, --日誌文件的初始大小
filegrowth=數值%--日誌文件的增長值
)
結構化查詢語言(Structured Query Language)簡稱SQL,結構化查詢語言是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;
sql 語句就是對資料庫進行操作的一種語言。
(7)SQL程序設計表擴展閱讀
1、常見語句
更新:update table1 set field1=value1 where 范圍
查找:select * from table1 where field1 like 』%value1%』 (所有包含『value1』這個模式的字元串)
排序:select * from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1[separator]
2、高級查詢
A:UNION運算符
UNION 運算符通過組合其他兩個結果表(例如TABLE1 和TABLE2)並消去表中任何重復行而派生出一個結果表。當 ALL 隨UNION 一起使用時(即UNION ALL),不消除重復行。兩種情況下,派生表的每一行不是來自TABLE1 就是來自TABLE2。
B: EXCEPT運算符
EXCEPT 運算符通過包括所有在TABLE1 中但不在TABLE2 中的行並消除所有重復行而派生出一個結果表。當ALL 隨EXCEPT 一起使用時(EXCEPT ALL),不消除重復行。
C:INTERSECT運算符
INTERSECT 運算符通過只包括TABLE1 和TABLE2 中都有的行並消除所有重復行而派生出一個結果表。當ALL 隨INTERSECT 一起使用時(INTERSECT ALL),不消除重復行。
註:使用運算詞的幾個查詢結果行必須是一致的。
8. sql 三種表是什麼 百度百科
sql一般指結構化查詢語
結構化查詢語言(Structured Query Language)簡稱SQL(發音:/ˈes kjuː ˈel/ "S-Q-L"),是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。
9. 如何設計SQL資料庫表格才能完美的存放這個報表的內容,求大神解答~
你這個表格需要程序支撐,比如每個月數據的錄入以及平均日進量的計算等等
如果什麼都不考慮,就是人工採集數據,直接錄入,然後通過一個程序展示報表
那麼表結構大概這樣
隊
組
工程名稱
工程量(這個其實可以幾列合計,不需要建列)
平均日進(這個應該能通過工程量/生產天數,也不需要保存,看你需要)
月進(也許是月平均值,沒仔細看你數據關系,總之可以通過計算的就不需要在表中體現)
生產天數(估計是起止時間差,用datediff函數可以得到)
開始時間
截止時間
巷道性質
備注
4月(這部分我估計你是每季度一張表,每個記錄保存三個月就夠了,所以列名可以分別寫月1、月2、月3,到時候生成表頭的時候再調整)
5月
6月
至於列的性質,建議你數字的用int,字元的用varchar(50),時間也用varchar(20),改動方便
合計列和小計列要在生成報表的時候處理