1樓:匿名使用者
請檢查:1,表名,就是 insert into 表名 values(..
有沒有錯誤;
2,insert into的values 必須包含整個表的所有列,你的表只有3個列嗎?其他的可以根據列的資料型別用逗號或者兩個單引號加逗號實現。比如:
insert into 表名 values(40001,''
3,id列,就是你的40001是不是帶種子的,如果帶種子的就不能加入id列的欄位。
2樓:
inset 表名 values ( 40001,'計算機文化基礎' ,清華大學出版社' )
全語句應該為上,應該無錯。
檢視下。各欄位對應的資料型別;關鍵字是否插入值;欄位長度。
英文狀態下的右括號。
3樓:匿名使用者
insert into table_name(col1,col2,col3) values(40001,'計算機文化基礎' ,清華大學出版社' )
如果你插入的資料包含主鍵或所有的列的話,可以不加列明,否則要加上對應的列。
sql語句的問題?
4樓:匿名使用者
在sql server中兩者沒有區別,但在oracle的sql語句中,delete * from是不標準的語法,執行無法通過。
oracle下執行delete from語句(成功):
oracle下執行delete * from語句(失敗):
sql解決問題思路
5樓:新科技
not in
example:
查詢沒學過"張三"老師授課的同學的資訊。
in + not in
example:
查詢學過編號為"01"但是沒有學過編號為"02"的課程的同學的資訊。
not in + not in
example:
查詢和"01"號的同學學習的課程完全相同的其他同學的資訊。
這部分就表示圖中 2,4
這部分表示圖中1,3,所以最後分組求和判斷課程數相同就得到完全一致的。
這題用正向的思維是,不好做的。總是會出現部分相同,使用這種反向雙重否定的方式去處理「完全」這種sql最好。
case when ..then ..else ..end
example:
顯示所有學生的所有課程的成績以及平均成績,按平均成績從高到低排序。
sum(condition)
example:
查詢各科成績最高分、最低分和平均分:以如下形式顯示:課程id,課程name,最高分,最低分,平均分,及格率,中等率,優良率,優秀率。
-- 及格為》=60,中等為:70-80,優良為:80-90,優秀為:>=90
example:
按各科成績進行排序,並顯示排名。
思想:首先排序好,那麼從第一個開始比較,不相等就加+,最後數字就是排名。
結果
思路:先排名然後篩選即可。
example:
去重方式:distinct or group by
思路:自關聯+使用條件+not in
多欄位交叉去重。
使用函式:week() year() day() month() now() datediff()
example:
查詢各學生的年齡。
查詢下週過生日的學生。
寫sql,多使用函式,如果普通思維完成不了使用集合逆向求反的思維。
sql資料庫問題,求大神搭救,重重有賞
6樓:何宜校
1、資料庫中的主資料檔案一定屬於主檔案組嗎?
答:是;因為所有資料庫都至少包含一個主檔案組,所有系統表都分配在主檔案組中,所以一定屬於主檔案組。
2、資料檔案和日誌檔案可以在同一個檔案組嗎?為什麼?
答:不可以;因為主資料檔案存在於主檔案組,日誌檔案不屬於任何檔案組。
3、刪除了資料庫,其資料檔案和日誌檔案是否已經刪除?
答:是的,全部已刪除;
4、truncate table:刪除內容、釋放空間但不刪除定義。
通過釋放儲存表資料所用的資料頁來刪除資料,並且只在事務日誌中記錄頁的釋放。
(自增長列重新開始計算)
delete table:刪除內容不刪除定義,不釋放空間。
每次刪除一行,並在事務日誌中為所刪除的每行記錄一項。(所以delete以後的資料有辦法可以恢復的;自增長列接著之前的遞增)
drop table:刪除內容和定義,釋放空間。
理論知識不一定靠譜,關鍵自己要實踐。
7樓:匿名使用者
1、不同資料庫可能有所不同,在sqlserver中是屬於的2、刪除資料庫,資料檔案是被刪除的,但日誌檔案還會存在3、drop table orders:刪除整張表的資料及表結構delete orders:只刪除表資料。
truncate table orders:刪除表資料,同時清除表結構。
有不清楚的請繼續提問,歡迎採納!
sql查詢問題
8樓:匿名使用者
這樣的問題,說明你平時不學。基礎書上都有,最簡單的select from where ,如果不會,問老師能更直接些。基礎的東西要吃透。
經驗分享:8種常見sql錯誤用法
sql 語句問題
9樓:匿名使用者
這兩個在效能上應該是沒什麼差別的,或者說差別不大,也沒人去考證這個事實。
但是這兩個sql在安全上卻有很大的差別,舉個例子,比如說你寫的是第一個:
select * from stu where id=1
假如你傳入的值是1,簡單的連線可能是這樣***jsp?id=1。然後拼接字串就可以得到上面那個語句了。
但是,懂資料庫的人可以通過一定的手段來檢視不應該檢視的資料,比如他在位址列手動輸入***jsp?id=1 or 1=1。這樣的話拼接字串,那個sql就變成:
select * from stu where id=1 or 1=1 這樣就把所有的資料都查上來了。這就是所謂的sql注入攻擊,想想都害怕,而用select * from stu where id=?則不會出現這個問題。
當然我舉的是個最簡單的例子,沒有那個程式設計師會出如此錯誤,但是這說明一個問題,就是第一個sql不安全,nb的人大有人在。你不是最nb,那就用比較安全點的吧,當然也沒有絕對的安全。
我知道的就這麼多,希望你對這兩個sql能有所感悟。
10樓:匿名使用者
id=1是查詢id為1的資料,id=?同求。
新手求教sql查詢問題
11樓:尚學堂科技****
sql查詢問題比較靈活,常用是多表查詢,有如下幾種供參考:
1、笛卡爾積:select * from 表1,表2;( 列數相加,行數記錄相乘)
2:等值連線:select * from 表1 s1,表2 s2 where =
3、外連線:在等值連線的基礎上加上主表中的未匹配資料(左外和右外)
左:select * from 表1 s1 left join 表2 s2 on =
右:select * from 表1 s1 right join 表2 s2 on =
4、內連線(等值連線的一種)
select * from 表1 s1 inner join 表2 s2 on =
5、子查詢:子查詢在外部查詢的from子句之後使用時,一般被當作一個資料來源使用。
(注:id為兩張表的相同欄位,全文)
sql語句 轉換大小寫問題,SQL語句 轉換大小寫問題
那你可以把首 來字元提取出來如自 declare it varchar 8 set it it prog select charindex it 1 取出p處在位置,就是你變大寫的位置 select lower it 轉化為小寫 select substring it,charindex it 1,...
sql語句問題,請高手幫忙
select 學生.學號,姓名 from 學生,選課 選課1 where 學生.學號 選課1.學號 and not exists select from 選課 選課2 where 選課2.學號 s001 and not exists select from 選課 選課3 where 選課2.課程號 ...
SQL查詢問題,SQL查詢問題
你那個 test 表有 設 主鍵 欄位沒有如果沒有 我就不會搞了 因為如果沒設主鍵 select from test 的顯示順序是 按記錄的插入時間 排的 先插入的排在前面 如果設了主鍵 是按主鍵欄位 升序來 排的 如果有設主鍵 假設為 tid 試下這條語句 select from test sel...