一.數(shù)據(jù)庫查詢語句:select
1. 查詢所有數(shù)據(jù):
select * from 表名;
select * from exam_books;
2.按照一定的條件查找:
select * from 表名where條件;
select * from exam_books where id<20;
3.范圍條件查詢:
select * from 表名 where 字段 between??值1??and 值2 ;
select * from exam_books where id<20andid>10;
select * from exam_books where id between 10 and 20;
select * from exam_books where addtimebetween'2011-03-17 00:00:00'and'2011-03-18 00:00:00';
4.模糊查詢:
select * from 表名 where 字段like'%條件%';
select * from exam_books where bookname like '%馬克思%';
select * from exam_books where booknamelike'馬__';
(查詢書名中第一個字是“馬”,后面有兩個字)
%和_叫做通配符
5.復合查詢:
select * from 表名 where 條件and另一個條件;
select * from exam_questions??where coursecode = '03706' and chapterid = 2;
6.查詢個數(shù):
selectcount(*)from 表名 where 條件
select count(*) as 別名 from exam_questions??where coursecode = '03706' and chapterid = 2;
7.查詢結(jié)果按順序排列:
正序、倒序(asc/desc)
select * from 表名 where 條件 order by 字段 desc/asc;
select * from exam_questions where coursecode = '03706' order by chapterid;
8、按照limit查找某個范圍內(nèi)的數(shù)據(jù):
SELECT??* FROM exam_questionsorder byid asclimit0, 15;(代表查找出的第一頁的信息)
SELECT??* FROM exam_questions??order by id asclimit15, 15;(代表查找出的第二頁的信息)
【備注:】limit后面的兩個數(shù)字中:第一個代表偏移量,第二個代表每頁展示的數(shù)量
偏移量 = (當前頁碼數(shù)-1) * 每頁顯示條數(shù)
SELECT 字段 AS??別名??FROM 表名 WHERE...?? ORDER BY ...??LIMIT....
9、sql常用函數(shù):
count()
length()
min()
max()
datetime('now')
date('now')
time('now')
10、group by分組查詢
select name ,sum(score) from students group by name having name='xxx'
二. 刪除數(shù)據(jù):delete
delete from 表名 where 條件;
delete from exam_questions where id<2000;
delete from exam_questions where coursecode='00041' and chapterid=1;
DELETE????FROM????表名????WHERE子句
三.插入新數(shù)據(jù):insert
insert into 表名(字段) values(值);
insert into exam_weburl(webname , weburl , info , bigtypeid) values('人人網(wǎng)', 'renren.com' , '這個網(wǎng)站不錯' , 3);
四.更新數(shù)據(jù):update
update 表名 set 字段1=值1, 字段2=值2 where 條件;
update exam_weburl set info='這個網(wǎng)站不太好' where id=73;
update exam_weburl set webname='人人2', weburl='www.renren.com' where id=73;
五衔蹲、創(chuàng)建表結(jié)構(gòu)的語句:
CREATETABLE??表名 (_id INTEGER PRIMARY KEY AUTOINCREMENT , 字段2, 字段3...)
例如:CREATE TABLE tb_newwords (_id INTEGER PRIMARY KEY AUTOINCREMENT, words??, detail );
六、更新表結(jié)構(gòu)的語句:
1呈础、如需在表中添加列舆驶,請使用下列語法:
ALTERTABLE table_name
ADD column_name datatype
2、要刪除表中的列而钞,請使用下列語法:
ALTER TABLE table_name
DROPCOLUMN column_name
3沙廉、要改變表中列的數(shù)據(jù)類型,請使用下列語法:
ALTER TABLE table_name
ALTER COLUMN column_name datatype
【備注:】
DDL (data define language)數(shù)據(jù)定義語句create,drop,alter
DML (data manipulate language)數(shù)據(jù)操縱語句insert,delete,update,select??(CRUD)
DCL數(shù)據(jù)控制語句grant,?revoke.
TCL(transaction controll language)事務(wù)控制語句.
學習SQL的主要重心應(yīng)該放在DML語句上臼节,而DML語句中的重點應(yīng)該是在select語句上撬陵。
CRUD:是指在做計算處理時的增加(Create)、查詢(Retrieve)(重新得到數(shù)據(jù))网缝、更新(Update)和刪除(Delete)幾個單詞的首字母簡寫巨税。主要被用在描述數(shù)據(jù)庫的基本操作。
【補充】sqlite3.exe
1途凫、.open 數(shù)據(jù)庫名
如果open一個不存在的數(shù)據(jù)庫垢夹,則會新建該表溢吻,如果該表沒有看到维费,則需要創(chuàng)建表 CREATE TABLE 表名先創(chuàng)建表果元,才能看到數(shù)據(jù)庫文件出現(xiàn)。
2犀盟、.help
3而晒、.show
4、.tables 展示所有數(shù)據(jù)庫的表
5阅畴、.schema 表名
【備注:】
SQLite支持哪些數(shù)據(jù)類型倡怎?
1)、NULL 值為NULL
2)贱枣、INTEGER 值為帶符號的整型监署,根據(jù)類別用1,2纽哥,3钠乏,4,6春塌,8字節(jié)存儲
3)晓避、REAL 值為浮點型,8字節(jié)存儲
4)只壳、TEXT 值為text字符串俏拱,使用數(shù)據(jù)庫編碼(UTF-8, UTF-16BE or UTF-16-LE)存儲
5)、BLOB 值為二進制數(shù)據(jù)吼句,具體看實際輸入
實際上:SQLite是無類型的. 這意味著你可以保存任何類型的數(shù)據(jù)到你所想要保存的任何表的任何列中, 無論這列聲明的數(shù)據(jù)類型是什么锅必,對于SQLite來說字段不指定類型是完全有效的.
雖然理論上SQLite只支持以上五種數(shù)據(jù)類型,但是如果寫成以下數(shù)據(jù)類型惕艳,sqlite3也能夠接受:
?smallint??16 位元的整數(shù)
?interger??32 位元的整數(shù)
?decimal(p,s)??p 精確值和 s 大小的十進位整數(shù)况毅,精確值p是指全部有幾個數(shù)(digits)大小值 ,s是指小數(shù)點後有幾位數(shù)尔艇。如果沒有特別指定尔许,則系統(tǒng)會設(shè)為 p=5; s=0 。
?float?? 32位元的實數(shù)终娃。
?double?? 64位元的實數(shù)味廊。
?char(n)?? n 長度的字串,n不能超過 254棠耕。
?varchar(n)??長度不固定且其最大長度為 n 的字串余佛,n不能超過 4000。
?graphic(n)??和 char(n) 一樣窍荧,不過其單位是兩個字元 double-bytes辉巡, n不能超過127。這個形態(tài)是為了支援兩個字元長度的字體蕊退,例如中文字郊楣。
?vargraphic(n)??可變長度且其最大長度為 n 的雙字元字串憔恳,n不能超過 2000。
?date?? 包含了 年份净蚤、月份钥组、日期。
?time?? 包含了 小時今瀑、分鐘程梦、秒。
?timestamp??包含了 年橘荠、月屿附、日、時哥童、分拿撩、秒、千分之一秒如蚜。