SQL數據庫查詢語句,包括增,刪,改,查等所有語句詳細
一、增:有4種方法 1.使用insert插入單行數據: 語法:insert [into] <表名> [列名] values <列值> 例:insert into Strdents (姓名,性別,出生日期) values ('開心朋朋','男','1980/6/15') 注意:into可以省略;列名列值用逗號分開;列值用單引號因上;如果省略表名,將依次插入所有列 2.使用insert select語句將現有表中的數據添加到已有的新表中 語法:insert into <已有的新表> <列名> select <原表列名> from <原表名> 例:insert into tongxunlu ('姓名','地址','電子郵件') select name,address,email from Strdents 注意:into不可省略;查詢得到的數據個數、順序、數據類型等,必須與插入的項保持一致 3.使用select into語句將現有表中的數據添加到新建表中 語法:select <新建表列名> into <新建表名> from <源表名> 例:select name,address,email into tongxunlu from strdents 注意:新表是在執行查詢語句的時候創建的,不能夠預先存在 在新表中插入標識列(關鍵字'identity'): 語法:select identity (數據類型,標識種子,標識增長量) AS 列名 into 新表 from 原表名 例:select identity(int,1,1) as 標識列,dengluid,password into tongxunlu from Struents 注意:關鍵字'identity' 4.使用union關鍵字合并數據進行插入多行 語法:insert <表名> <列名> select <列值> tnion select <列值> 例:insert Students (姓名,性別,出生日期) select '開心朋朋','男','1980/6/15' union(union表示下一行) select '藍色小明','男','19**/**/**' 注意:插入的列值必須和插入的列名個數、順序、數據類型一致二、刪:有2中方法 1.使用delete刪除數據某些數據 語法:delete from <表名> [where <刪除條件>] 例:delete from a where name='開心朋朋'(刪除表a中列值為開心朋朋的行) 注意:刪除整行不是刪除單個字段,所以在delete后面不能出現字段名 2.使用truncate table 刪除整個表的數據 語法:truncate table <表名> 例:truncate table tongxunlu 注意:刪除表的所有行,但表的結構、列、約束、索引等不會被刪除;不能用語有外建約束引用的表三、改 使用update更新修改數據 語法:update <表名> set <列名=更新值> [where <更新條件>] 例:update tongxunlu set 年齡=18 where 姓名='藍色小名' 注意:set后面可以緊隨多個數據列的更新值;where子句是可選的,用來限制條件,如果不選則整個表的所有行都被更新四、查 1.普通查詢 語法:select <列名> from <表名> [where <查詢條件表達試>] [order by <排序的列名>[asc或desc]] 1).查詢所有數據行和列 例:select * from a 說明:查詢a表中所有行和列 2).查詢部分行列--條件查詢 例:select i,j,k from a where f=5 說明:查詢表a中f=5的所有行,并顯示i,j,k3列 3).在查詢中使用AS更改列名 例:select name as 姓名 from a whrer xingbie='男' 說明:查詢a表中性別為男的所有行,顯示name列,并將name列改名為(姓名)顯示 4).查詢空行 例:select name from a where email is null 說明:查詢表a中email為空的所有行,并顯示name列;SQL語句中用is null或者is not null來判斷是否為空行 5).在查詢中使用常量 例:select name '唐山' as 地址 from a 說明:查詢表a,顯示name列,并添加地址列,其列值都為'唐山' 6).查詢返回限制行數(關鍵字:top percent) 例1:select top 6 name from a 說明:查詢表a,顯示列name的前6行,top為關鍵字 例2:select top 60 percent name from a 說明:查詢表a,顯示列name的60%,percent為關鍵字 7).查詢排序(關鍵字:order by , asc , desc) 例:select name from a where chengji>=60 order by desc 說明:查詢表中chengji大于等于60的所有行,并按降序顯示name列;默認為ASC升序 2.模糊查詢 1).使用like進行模糊查詢 注意:like運算副只用語字符串,所以僅與char和varchar數據類型聯合使用 例:select * from a where name like '趙%' 說明:查詢顯示表a中,name字段第一個字為趙的記錄 2).使用between在某個范圍內進行查詢 例:select * from a where nianling between 18 and 20 說明:查詢顯示表a中nianling在18到20之間的記錄 3).使用in在列舉值內進行查詢 例:select name from a where address in ('北京','上海','唐山') 說明:查詢表a中address值為北京或者上海或者唐山的記錄,顯示name字段 3.分組查詢 1).使用group by進行分組查詢 例:select studentID as 學員編號, AVG(score) as 平均成績 (注釋:這里的score是列名) from score (注釋:這里的score是表名) group by studentID 說明:在表score中查詢,按strdentID字段分組,顯示strdentID字段和score字段的平均值;select語句中只允許被分組的列和為每個分組返回的一個值的表達試,例如用一個列名作為參數的聚合函數 2).使用having子句進行分組篩選 例:select studentID as 學員編號, AVG(score) as 平均成績 (注釋:這里的score是列名) from score (注釋:這里的score是表名) group by studentID having count(score)>1 說明:接上面例子,顯示分組后count(score)>1的行,由于where只能在沒有分組時使用,分組后只能使用having來限制條件,。
怎樣用SQL語句查詢一個數據庫中的所有表
查詢一個數據庫中的所有表sql語句是show tables;
顯示所有數據庫的命令是:show databases;要查看某個數據庫先要進入數據庫使用user <;數據庫名>;命令;進入數據庫之后才能查詢數據庫中有哪些表。使用以下命令即可查出所有表:
show tables;
擴展資料
mysql數據庫的基本sql操作命令介紹:
1、顯示當前數據庫服務器中的數據庫列表:mysql> SHOW DATABASES;
2、建立數據庫:mysql> CREATE DATABASE 庫名;
3、建立數據表:mysql> USE 庫名;mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字
名 CHAR(1));
4、刪除數據庫:mysql> DROP DATABASE 庫名;
5、刪除數據表:mysql> DROP TABLE 表名;
6、將表中記錄清空:mysql> DELETE FROM 表名;
7、往表中插入記錄:mysql> INSERT INTO 表名 VALUES ("hyq","M");
8、更新表中數據:mysql-> UPDATE 表名 SET 字段名1='a',字段名2='b' WHERE 字段名3='c';
9、用文本方式將數據裝入數據表中:mysql> load data local infile "d:/*" into table 表名;
10、導入.sql文件命令:mysql> USE 數據庫名;mysql> source d:/*;
SQL數據庫查詢語句
一、 簡單查詢
簡單的Transact-SQL查詢只包括選擇列表、FROM子句和WHERE子句。它們分別說明所查詢列、查詢的表或視圖、以及搜索條件等。
例如,下面的語句查詢testtable表中姓名為“張三”的nickname字段和email字段。
SELECT nickname,email
FROM testtable
WHERE name='張三'
(一) 選擇列表
選擇列表(select_list)指出所查詢列,它可以是一組列名列表、星號、表達式、變量(包括局部變量和全局變量)等構成。
1、選擇所有列
例如,下面語句顯示testtable表中所有列的數據:
SELECT *
FROM testtable
2、選擇部分列并指定它們的顯示次序
查詢結果集合中數據的排列順序與選擇列表中所指定的列名排列順序相同。
例如:
SELECT nickname,email
FROM testtable
3、更改列標題
在選擇列表中,可重新指定列標題。定義格式為:
列標題=列名
列名 列標題
如果指定的列標題不是標準的標識符格式時,應使用引號定界符,例如,下列語句使用漢字顯示列標題:
SELECT 昵稱=nickname,電子郵件=email
FROM testtable
4、刪除重復行
SELECT語句中使用ALL或DISTINCT選項來顯示表中符合條件的所有行或刪除其中重復的數據行,默認為ALL。使用DISTINCT選項時,對于所有重復的數據行在SELECT返回的結果集合中只保留一行。
5、限制返回的行數
使用TOP n [PERCENT]選項限制返回的數據行數,TOP n說明返回n行,而TOP n PERCENT時,說明n是表示一百分數,指定返回的行數等于總行數的百分之幾。
例如:
SELECT TOP 2 *FROM testtable SELECT TOP 20 PERCENT * FROM testtable
(二)FROM子句
FROM子句指定SELECT語句查詢及與查詢相關的表或視圖。在FROM子句中最多可指定256個表或視圖,它們之間用逗號分隔。
在FROM子句同時指定多個表或視圖時,如果選擇列表中存在同名列,這時應使用對象名限定這些列所屬的表或視圖。例如在usertable和citytable表中同時存在cityid列,在查詢兩個表中的cityid時應使用下面語句格式加以限定:
SELECT username,*
FROM usertable,citytable
WHERE usertable.
本篇文章來源于 黑軟基地-中國最大的黑客教程計算機安全教程下載基地 原文鏈接:
數據庫查詢語句
沒表結構還真不好說,我給你虛構一個吧。
表1名:書。屬性:書編號,書名,價格,出版社編號。
表2名:出版社。屬性:出版社編號,名稱,地址,聯系方式。
1 檢索所有定價超過20元的書名.
select 書名 from 書 where 價格 > 20;
2 統計每個出版社, 平均定價
select distinct(出版社編號),avg(價格) from 書 group by 出版社編號;
3 出版社書所有定價下調%5
update 書 set 價格 = 價格*95%;
4簡單的ER 模型 標記連接類型
很簡單,但是這里不能畫圖,你畫出書和出版社2個實體,他們是一對多關系。一個出版社可能出版一本或者多本書,一本書是由一個出版社出版的。
你根據這個邏輯畫出來就行。
做出來了嗎????
sql 語句大全
1. 查看數據庫的版本 select @@version 2. 查看數據庫所在機器操作系統參數 exec master..xp_msver 3. 查看數據庫啟動的參數 sp_configure 4. 查看數據庫啟動時間 select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1 查看數據庫服務器名和實例名 print 'Server Name。
:' + convert(varchar(30),@@SERVERNAME) print 'Instance。
:' + convert(varchar(30),@@SERVICENAME) 5. 查看所有數據庫名稱及大小 sp_helpdb 重命名數據庫用的SQL sp_renamedb 'old_dbname', 'new_dbname' 6. 查看所有數據庫用戶登錄信息 sp_helplogins 查看所有數據庫用戶所屬的角色信息 sp_helpsrvrolemember 修復遷移服務器時孤立用戶時,可以用的fix_orphan_user腳本或者LoneUser過程 更改某個數據對象的用戶屬主 sp_changeobjectowner [@objectname =] 'object', [@newowner =] 'owner' 注意:更改對象名的任一部分都可能破壞腳本和存儲過程。 把一臺服務器上的數據庫用戶登錄信息備份出來可以用add_login_to_aserver腳本 查看某數據庫下,對象級用戶權限 sp_helprotect 7. 查看鏈接服務器 sp_helplinkedsrvlogin 查看遠端數據庫用戶登錄信息 sp_helpremotelogin 8.查看某數據庫下某個數據對象的大小 sp_spaceused @objname 還可以用sp_toptables過程看最大的N(默認為50)個表 查看某數據庫下某個數據對象的索引信息 sp_helpindex @objname 還可以用SP_NChelpindex過程查看更詳細的索引情況 SP_NChelpindex @objname clustered索引是把記錄按物理順序排列的,索引占的空間比較少。
對鍵值DML操作十分頻繁的表我建議用非clustered索引和約束,fillfactor參數都用默認值。 查看某數據庫下某個數據對象的的約束信息 sp_helpconstraint @objname9.查看數據庫里所有的存儲過程和函數 use @database_name sp_stored_procedures 查看存儲過程和函數的源代碼 sp_helptext '@procedure_name' 查看包含某個字符串@str的數據對象名稱 select distinct object_name(id) from syscomments where text like '%@str%' 創建加密的存儲過程或函數在AS前面加WITH ENCRYPTION參數 解密加密過的存儲過程和函數可以用sp_decrypt過程 10.查看數據庫里用戶和進程的信息 sp_who 查看SQL Server數據庫里的活動用戶和進程的信息 sp_who 'active' 查看SQL Server數據庫里的鎖的情況 sp_lock 進程號1--50是SQL Server系統內部用的,進程號大于50的才是用戶的連接進程. spid是進程編號,dbid是數據庫編號,objid是數據對象編號 查看進程正在執行的SQL語句 dbcc inputbuffer () 推薦大家用經過改進后的sp_who3過程可以直接看到進程運行的SQL語句 sp_who3 檢查死鎖用sp_who_lock過程 sp_who_lock 11.查看和收縮數據庫日志文件的方法 查看所有數據庫日志文件大小 dbcc sqlperf(logspace) 如果某些日志文件較大,收縮簡單恢復模式數據庫日志,收縮后@database_name_log的大小單位為M backup log @database_name with no_log dbcc shrinkfile (@database_name_log, 5) 12.分析SQL Server SQL 語句的方法:set statistics time {on | off} set statistics io {on | off} 圖形方式顯示查詢執行計劃 在查詢分析器->查詢->顯示估計的評估計劃(D)-Ctrl-L 或者點擊工具欄里的圖形 文本方式顯示查詢執行計劃 set showplan_all {on | off} set showplan_text { on | off } set statistics profile { on | off } 13.出現不一致錯誤時,NT事件查看器里出3624號錯誤,修復數據庫的方法 先注釋掉應用程序里引用的出現不一致性錯誤的表,然后在備份或其它機器上先恢復然后做修復操作 alter database [@error_database_name] set single_user 修復出現不一致錯誤的表 dbcc checktable('@error_table_name',repair_allow_data_loss) 或者可惜選擇修復出現不一致錯誤的小型數據庫名 dbcc checkdb('@error_database_name',repair_allow_data_loss) alter database [@error_database_name] set multi_user CHECKDB 有3個參數:repair_allow_data_loss 包括對行和頁進行分配和取消分配以改正分配錯誤、結構行或頁的錯誤,以及刪除已損壞的文本對象,這些修復可能會導致一些數據丟失。
修復操作可以在用戶事務下完成以允許用戶回滾所做的更改。 如果回滾修復,則數據庫仍會含有錯誤,應該從備份進行恢復。
如果由于所提供修復等級的緣故遺漏某個錯誤的修復,則將遺漏任何取決于該修復的修復。 修復完成后,請備份數據庫。
repai*_**st 進行小的、不耗時的修復操作,如修復非聚集索引中的附加鍵。 這些修復可以很快完成,并且不會有丟失數據的危險。
repair_rebuild 執行由 repai*_**st 完成的所有修復,包括需要較長時間的修復(如重建索引)。 執行這些修復時不會有丟失數據的危險。
添加、刪除、修改使用*e(Sql)命令執行操作 ╔--------------------╗ ☆ 數據記錄篩選 ☆ ╚--------------------╝ 注意:單雙引號的用法可能有誤(沒有測式) Sql = "Select Distinct 字段名 From 數據表" Distinct函數,查詢數據庫存表內不重復的記錄 Sql = "Select Count(*) From 數據表 where 字段名1>#18:0:0# and 。
用SQL語句隨便寫一條數據庫增刪改查語句
表名: person
字段: id, name, age
1 張三 20
2 李四 22
3 王五 23
查詢: select id,name,age from person;
刪除: delete from person where id=1 (刪除ID=1的那條數據,)
delete from person (刪除person表中的所有數據);
修改: update person set name="劉德華" where id=2; (就會李四的名字改成劉德華);
增加: insert into person values(4,'趙六',24);