SQL语言一些笔记(主要是Sqlite部分)

来源:互联网 发布:如何注册网络写手 编辑:程序博客网 时间:2024/05/16 15:19
1.查询所有数据的语句
SELECT * FROM mutable


2按条件查询的语句
SELECT * FROM mutable WHERE column = value


3.插入数据
insert into mutable values(value),表中只有一个属性就是value,多个属性则用,隔开
insert into mutable values(value1,value2…)
insert into mutable (column1,column2) values(value1,value2)修改制定某一个或者几个属性的值


4。删除表
drop table mutable 


5.创建表
create table mutable(column1 columnType,column2 columnType,)


6.更新表
update  mutable set  newColumn=newValue  where oldColumn=oldValue


7.删除表内某条数据
delete from mutable where colom = value 


8.插入表内的某属性


alter Table mutable
add   column newcolumn columnType


9.排序(ORDER BY 语句)
select *  from mutable order by columnName(顺序排列)
select *  from mutable order by columnName(逆序排列)




10.选择几条数据(count是需要显示的前几条数据)
SELECT * FROM Mytable  LIMIT count
SELECT colomnName(colomnValue) FROM Mytable  LIMIT count


11.LIKE %通配符实现模糊查询
select *from mutable where city LIKE ‘%g’  (查询city属性中以“g“结尾的城市)
select *from mutable where city LIKE ‘A%’  (查询city属性中以“A“开头的城市)
select *from mutable where city Not LIKE ‘A%’  (查询city属性中不以“A“开头的城市)
select *from mutable where city LIKE ‘[ALN]%’  (查询city属性中表中以 "A" 或 "L" 或 "N" 开头的城市)
select *from mutable where city Not LIKE ‘[^ALN]%’  (查询city属性中表中不以 "A" 或 "L" 或 "N" 开头的城市)




12.通配符
%:代替一个或者多个字符;
_:仅仅代替一个字符;
[charlist]:字符列中任何单一字符
[^charlist]或者[!charlist]:不在字符列中任何单一字符


13.IN 操作符允许我们在 WHERE 子句中规定多个值。
SELECT column_name(s)  FROM mutable  WHERE column_name IN (value1,value2,...)




14.BETWWEN 取出两条数据之间的记录(日期,文本等)
SELECT * FROM mutable  WHERE column_name(s) BETWEEN 'Adams' AND 'Carter'




15.数据库数据的类型
integer(size): 整数,size是最大位数
int(size):
smallint(size):
tinyint(size):


decimal(size,d):带小数的数字.size 是数字最大位数,d是小数点右侧最大位数
numeric(size,d):


char(size):字符串


varchar(size):可变长度字符串


date(yyyymmdd):日期




16.数据库约束
   1).Not NULL
   2).请始终使用 IS NULL 来查找 NULL 值。
   3).每个表可以有多个UNIQUE约束,但只有一个Primary key约束。 
   4).primary key:主键不为空


17.UNION 合并列出两个表中对应属性(两个表中有相同值则只列出一个)
   UNION ALL 合并列出两个表中对应属性(两个表中有相同值都列出)


18.SQlite复制表 
   1).create table newTable as select *from oldTable
   2).


   






Sqlite的封装类FMDB的使用:
 
1).//创建一个名为User的表,有两个字段分别为string类型的Name,integer类型的 Age   
    [db executeUpdate:@"CREATE TABLE User (Name text,Age integer)"];   
2).//插入数据使用OC中的类型 text对应为NSString integer对应为NSNumber的整形    
    [db executeUpdate:@"INSERT INTO User (Name,Age) VALUES (?,?)",@"老婆",[NSNumber numberWithInt:20]];
3).//更新数据 将“老婆”更改为“宝贝”     
    [db executeUpdate:@"UPDATE User SET Name = ? WHERE Name = ? ",@"老婆",@"宝贝"];
4).//删除数据  
    [db executeUpdate:@"DELETE FROM User WHERE Name = ?",@"老婆"];   ·
5).//返回数据库中第一条满足条件的结果     
    NSString *aa=[db stringForQuery:@"SELECT Name FROM User WHERE Age = ?",@"20"];  
0 0