數據庫語言有哪些
數據庫語言最常用的是SQL (結構化查詢語言)。
t-sql 是微軟SQL SERVER的SQL語句,兼容SQL,并具有SQL SERVER本身獨有的函數、關鍵字;pl/sql是針對Oracle數據庫的第三方工具;k-sql是國內最領先ERP廠商金蝶軟件自主使用的sql語言。都是基于sql的,兼容sql,也有符合自己數據庫的特色。
可以這么理解,SQL是普通話,而t-sql、pl/sql、ksql是方言。企業比較常用的大型數據庫有Oracle (甲骨文)、db2(IBM) 、sql server(微軟) 、Sybase(剛被sap收購)、Mysql(sun,已被甲骨文收購)Mysql也算大型數據庫。
小型數據庫有access、MSDE 2000、FoxPro(原名foxbase曾是狐貍公司的)等,這三個都是微軟的。foxpro是一款非常方便好用的桌面數據庫開發工具,至今還有很多公司用來做數據處理。
其他還有些我不熟悉的,就不寫了。了解這么多數據庫沒用,關鍵是學會用一兩種就行了。
了解更多開源相關,去LUPA社區看看吧。
計算機三級數據庫SQL語句有哪些
1、說明:創建數據庫 CREATE DATABASE database-name 2、說明:刪除數據庫 drop database dbname 3、說明:備份sql server --- 創建 備份數據的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1。
dat' --- 開始 備份 BACKUP DATABASE pubs TO testBack 4、說明:創建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],。 。
) 根據已有的表創建新表: A:create table tab_new like tab_old (使用舊表創建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、說明:刪除新表 drop table tabname 6、說明:增加一個列 Alter table tabname add column col type 注:列增加后將不能刪除。 DB2中列加上后數據類型也不能改變,唯一能改變的是增加varchar類型的長度。
7、說明:添加主鍵: Alter table tabname add primary key(col) 說明:刪除主鍵: Alter table tabname drop primary key(col) 8、說明:創建索引:create [unique] index idxname on tabname(col…。 ) 刪除索引:drop index idxname 注:索引是不可更改的,想更改必須刪除重新建。
9、說明:創建視圖:create view viewname as select statement 刪除視圖:drop view viewname 10、說明:幾個簡單的基本的sql語句 選擇:select * from table1 where 范圍 插入:insert into table1(field1,field2) values(value1,value2) 刪除:delete from table1 where 范圍 更新:update table1 set field1=value1 where 范圍 查找:select * from table1 where field1 like '%value1%' ---like的語法很精妙,查資料! 排序:select * from table1 order by field1,field2 [desc] 總數:select count as totalcount from table1 求和: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 1 1、說明:幾個高級查詢運算詞 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),不消除重復行。 注:使用運算詞的幾個查詢結果行必須是一致的。
1 2、說明:使用外連接 A、left (outer) join: 左外連接(左連接):結果集幾包括連接表的匹配行,也包括左連接表的所有行。 SQL: select a。
a, a。b, a。
c, b。c, b。
d, b。f from a LEFT OUT JOIN b ON a。
a = b。c B:right (outer) join: 右外連接(右連接):結果集既包括連接表的匹配連接行,也包括右連接表的所有行。
C:full/cross (outer) join: 全外連接:不僅包括符號連接表的匹配行,還包括兩個連接表中的所有記錄。 1 2、分組:Group by: 一張表,一旦分組 完成后,查詢后只能得到組相關的信息。
組相關的信息:(統計信息) count,sum,max,min,avg 分組的標準) 在SQLServer中分組時:不能以text,ntext,image類型的字段作為分組依據 在selecte統計函數中的字段,不能和普通的字段放在一起; 1 3、對數據庫進行操作: 分離數據庫: sp_detach_db; 附加數據庫:sp_attach_db 后接表明,附加需要完整的路徑名 14。 如何修改數據庫的名稱: sp_renamedb 'old_name', 'new_name'。
操作數據庫結構的SQL語句是什么
Sql Server 和 Access 操作數據庫結構的常用Sql,希望對你有所幫助。
新建表: create table [表名] ( [自動編號字段] int IDENTITY (1,1) PRIMARY KEY , [字段1] nVarChar(50) default '默認值' null , [字段2] ntext null , [字段3] datetime, [字段4] money null , [字段5] int default 0, [字段6] Decimal (12,4) default 0, [字段7] image null , ) 刪除表: Drop table [表名] 插入數據: INSERT INTO [表名] (字段1,字段2) VALUES (100,'51WINDOWS。 NET') 刪除數據: DELETE FROM [表名] WHERE [字段名]>100 更新數據: UPDATE [表名] SET [字段1] = 200,[字段2] = '51WINDOWS。
NET' WHERE [字段三] = 'HAIWA' 新增字段: ALTER TABLE [表名] ADD [字段名] NVARCHAR (50) NULL 刪除字段: ALTER TABLE [表名] DROP COLUMN [字段名] 修改字段: ALTER TABLE [表名] ALTER COLUMN [字段名] NVARCHAR (50) NULL 重命名表:(Access 重命名表,請參考文章:在Access數據庫中重命名表) sp_rename '表名', '新表名', 'OBJECT' 新建約束: ALTER TABLE [表名] ADD CONSTRAINT 約束名 CHECK ([約束字段] NET' FOR [字段名] 刪除默認值 ALTER TABLE [表名] DROP CONSTRAINT 默認值名 刪除Sql Server 中的日志,減小數據庫文件大小 dump transaction 數據庫名 with no_log backup log 數據庫名 with no_log dbcc shrinkdatabase(數據庫名) exec sp_dboption '數據庫名', 'autoshrink', 'true'。
計算機三級數據庫SQL語句有什么
1、說明:復制表(只復制結構,源表名:a 新表名:b) (Access可用) 法一:select * into b from a where 11(僅用于SQlServer) 法二:select top 0 * into b from a 2、說明:拷貝表(拷貝數據,源表名:a 目標表名:b) (Access可用) insert into b(a, b, c) select d,e,f from b; 3、說明:跨數據庫之間表的拷貝(具體數據使用絕對路徑) (Access可用) insert into b(a, b, c) select d,e,f from b in '具體數據庫' where 條件 例子:。
。from b in '"&Server。
MapPath("。")&"\data。
mdb" &"' where。
4、說明:子查詢(表名1:a 表名2:b) select a,b,c from a where a IN (select d from b ) 或者: select a,b,c from a where a IN (1,2,3) 5、說明:顯示文章、提交人和最后回復時間 select a。 title,a。
username,b。adddate from table a,(select max(adddate) adddate from table where table。
title=a。title) b 6、說明:外連接查詢(表名1:a 表名2:b) select a。
a, a。b, a。
c, b。c, b。
d, b。f from a LEFT OUT JOIN b ON a。
a = b。c 7、說明:在線視圖查詢(表名1:a ) select * from (SELECT a,b,c FROM a) T where t。
a > 1; 8、說明:between的用法,between限制查詢數據范圍時包括了邊界值,not between不包括 select * from table1 where time between time1 and time2 select a,b,c, from table1 where a not between 數值1 and 數值2 9、說明:in 的使用方法 select * from table1 where a [not] in ('值1','值2','值4','值6') 10、說明:兩張關聯表,刪除主表中已經在副表中沒有的信息 delete from table1 where not exists ( select * from table2 where table1。 field1=table2。
field1 ) 1 1、說明:四表聯查問題: select * from a left inner join b on a。a=b。
b right inner join c on a。a=c。
c inner join d on a。 a=d。
d where 。
。 1 2、說明:日程安排提前五分鐘提醒 SQL: select * from 日程安排 where datediff('minute',f開始時間,getdate())>5 1 3、說明:一條sql 語句搞定數據庫分頁 select top 10 b。
* from (select top 20 主鍵字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b。主鍵字段 = a。
主鍵字段 order by a。排序字段 具體實現: 關于數據庫分頁: declare @start int,@end int @sql nvarchar(600) set @sql='select top'+str(@end-@start+1)+'+from T where rid not in(select top'+str(@str-1)+'Rid from T where Rid>-1)' exec sp_executesql @sql 注意:在top后不能直接跟一個變量,所以在實際應用中只有這樣的進行特殊的處理。
Rid為一個標識列,如果top后還有具體的字段,這樣做是非常有好處的。因為這樣可以避免 top的字段如果是邏輯索引的,查詢的結果后實際表中的不一致(邏輯索引中的數據有可能和數據表中的不一致,而查詢時如果處在索引則首先查詢索引)。
數據庫查詢語句
沒表結構還真不好說,我給你虛構一個吧。
表1名:書。屬性:書編號,書名,價格,出版社編號。
表2名:出版社。屬性:出版社編號,名稱,地址,聯系方式。
1 檢索所有定價超過20元的書名.select 書名 from 書 where 價格 > 20;2 統計每個出版社, 平均定價 select distinct(出版社編號),avg(價格) from 書 group by 出版社編號;3 出版社書所有定價下調%5 update 書 set 價格 = 價格*95%;4簡單的ER 模型 標記連接類型很簡單,但是這里不能畫圖,你畫出書和出版社2個實體,他們是一對多關系。一個出版社可能出版一本或者多本書,一本書是由一個出版社出版的。
你根據這個邏輯畫出來就行。做出來了嗎????。
有關“數據庫”的簡單問題
呵呵 我沒怎么學,現在只記得第一個 create table student /*建立一個表 student*/ ( 學號 char(8), /*表中包含元素屬性 學號 類型為char 長度為8字符*/ 姓名 varchar(10), 性別 char(2), 所在系 varchar(20), 專業 varchar(20)) 剛剛看了下書 下面的也寫下,呵呵`` INSERT INTO student /*插入數據到表student*/ (學號,姓名,性別,所在系,專業) /*要插入的記錄屬性*/ VALUES('200401','15','王五','男','20','IS','computer' )/*插入的數值*/ UPDATE student /*要修改記錄的表*/ SET 學號='20040210' /*要修改的記錄*/ WHERE 姓名='王五' /*修改條件*/ SELECT * /*查詢全部屬性*/ FROM student /*查詢的表*/ WHERE(所在系='IS') /*查詢條件*/ ORDER BY 學號 ASC /*按學號排序(ASC為升序 DESC為降序*/ 好了,就這了 應該是對是 呵呵~``。
轉載請注明出處華閱文章網 » 查詢數據的sql語句