1:left join 返回左表中的所有行,即使右表中沒有匹配,返回一和虛表(包括兩個表的所有列),沒有匹配的字段為null
2:字串拼接符用concat或是||
因為題目判定系統使用的是sqlite3,所以必須按sqlite3的寫法來做,
insert or ignore into actor
values(
3
,
'ed'
,
'chase'
,
'2006-02-15 12:34:33'
);
如果是mysql,那麼把or去掉,像下面這樣:
insert ignore into actor
values(
3
,
'ed'
,
'chase'
,
'2006-02-15 12:34:33'
);
兩種資料庫還是有區別的。
4:select ...into table1 from table2(從table2中查取資料並建立乙個新錶table1中)
insert table1 select .. from table2(從table2中查取資料並放入到現有的表table1中)
5:建立表從其它表中查詢資料並插入到新錶中:
first_name varchar(45) not null,
last_name varchar(45) not null
);insert into actor_name select first_name,last_name from actor;
sql資料庫需要去掉as
wasrehpic
sqlite中,使用 indexed by 語句進行強制索引查詢,可參考:
select * from salaries indexed by idx_emp_no where emp_no =
10005
mysql中,使用 force index 語句進行強制索引查詢,可參考:
select * from salaries force index idx_emp_no where emp_no =
10005
7:修改表(結構):alter table 表名 add column 列名 alter tabel 表名 alter column 列名 alter table 表名 drop column 列名(column可以省略) alter table 表名1 rename to/as 表名2(修改表名)
8:刪除表:drop table 表名(刪除整個表) truncate table 表名(刪除表的內容,表結構還在) delete table 表名 where(一行行刪除,不帶where時與truncate一樣)參考:刪除表
本題運用 replace 有兩種解法
方法一:全欄位更新替換。由於 replace 的新記錄中 id=5,與表中的主鍵 id=5 衝突,故會替換掉表中 id=5 的記錄,否則會插入一條新記錄(例如新插入的記錄 id = 10)。並且要將所有欄位的值寫出,否則將置為空。可參考:
replace into titles_test values (
5
,
10005
,
'senior engineer'
,
'1986-06-26'
,
'9999-01-01'
)
方法二:運用replace(x,y,z)函式。其中x是要處理的字串,y是x中將要被替換的字串,z是用來替換y的字串,最終返回替換後的字串。以下語句用 update和replace 配合完成,用replace函式替換後的新值複製給 id=5 的 emp_no。replace的引數為整型時也可通過。可參考:
update titles_test set emp_no = replace(emp_no,
10001
,
10005
) where id =
5
10:給已有的表新增外來鍵約束(mysql) alter table 表名1 add foreign key(列名1)references 表名2(列名2)
sql 小知識點
1.group 用法 很多時候我們需要分組函式來統計資料,在此過程中因為業務問題可能會用到別名,此時sql可能會寫成如下樣子 select a.fee reserveas fee other,count 1 as count no from t expenses bill a group by a....
Hibernate 小知識點
今天比較忙沒怎麼寫 知識一些曉得知識或是經驗吧!1.lazy延遲載入 也可以說是需要的時候再區載入 場景 乙個類如person和address,person可以通過getaddress 來得到address的set集合.有乙個dao控制類operation.方法public person query...
dom 小知識點
1 classname屬性可設定或返回元素的 class 屬性。function getclass document.getelementbyid d1 classname bbb alert document.getelementbyid d1 classname 2 removechild 刪除...