删除一张表(没有关联关系)
DROP table tablename
建立一张表,带有一个自增字段(ID):
CREATE table Persons( ID INTEGER PRIMARY KEY,Lastname varchar(255),Firstname varchar(255))
在Column后面加入INTEGER PRIMARY KEY
就代表auto_INCREASEMENT
,并且是NOT NulL
的,因为在sqlite中没有auto_INCREASEMENT
这个关键字。每次INSERT
一条记录,不用给ID指定值,sqlite会自动增加值。另外注意,一定要写成这样:INTEGER PRIMARY KEY
。如果写成这样INT PRIMARY KEY
也是不会自增的。更详细内容可以点击查看这里。
查看某一张表是否存在:
SELECT * FROM sqlite_master WHERE type='table' AND name='yourtablename'
在查找某个字段的内容时,使用SELECT
语句,在sqlite里是case-sensitive的。也就是说,如果你的表里的内容是大写,但是你查的是相同内容,但是是小写的,是查不到的。如果想忽略大小写,即 case-insensitive,需要用到ColLATE NOCASE
:
SELECT * FROM tablename WHERE someFIEld = 'value' ColLATE NOCASE字段 *** 作
查找一张表中,某个字段someFIEld没有重复的条目:
SELECT distinct someFIEld FROM table
查找一张表中,某个字段someFIEld有重复的条目:
SELECT * FROM table GROUP BY someFIEld HAVING count(*) > 1
向一张已经存在的表里加两个Column,分别为name和Password。当然,这里的Password是明文的。
ALTER table User REname TO sqlitestudio_temp_table;CREATE table User ( ID INTEGER PRIMARY KEY,AuthToken VARCHAR NOT NulL UNIQUE,Routeway VARCHAR NOT NulL UNIQUE,name VARCHAR NOT NulL,Password VARCHAR NOT NulL);INSERT INTO User ( ID,AuthToken,Routeway ) SELECT ID,Routeway FROM sqlitestudio_temp_table;DROP table sqlitestudio_temp_table;
用一张表tableB里的一个字段fIEldB内容给另外一张表tableA里的一个字段fIEldA赋值:
UPDATE tableA SET fIEldA = tableB.fIEldB
如果是同一张表tableA中,用一个字段fIEld1的值给表中的另外一个字段fIEld2值赋值:
UPDATE tableA SET fIEld2 = fIEld1
如果需要把一个字符串('someString')和一个字段fIEld1的值进行连接,然后赋值给一个字段fIEld2:
UPDATE tableA SET fIEld2 = fIEld1 || 'someString'
把一张表tableA里的数据导入到另外一张表tableB中(两张表中的结构和字段必须一样):
INSERT INTO tableB SELECT * FROM tableA字符 *** 作
将两个字符连接,用 ||
:
string1 || string2
关于字符串的格式,比如一个字段Month,代表月份,类型是int,但是表中的月份如果不超过十月,是单个字符。比如:1,2,3,4,12。但是打印出来希望是:01,02,03,04,12。目前没发现可用的函数。可以使用substr
和||
组合一下:
substr('0'|| Month,-2,2)
这里简单解释一下:如果Month是1,那么'0'|| Month
之后是01,-2意味着从倒数第2个开始,取2个字符。取出来是01。
如果Month是12,那么'0'|| Month
之后是012,-从倒数第2个开始,取2个字符。取出来还是12。
以上是内存溢出为你收集整理的常用的Sqlite SQL语句(持续更新中)全部内容,希望文章能够帮你解决常用的Sqlite SQL语句(持续更新中)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)