SQL笔记

杂集SQL语句:

insert into car values('8615120098771','测试das')

CREATE TABLE Car_Test100_100 AS SELECT * FROM Car_test100 WHERE 1=0 

 DELETE FROM Car_Test100_100

SELECt phone FROM car_test100 SELECT * FROM Point_Test100_100 WHERE Time < '2012-01-01 00:00:00' order by time

删除表有TRUNCATE TABLE语句,用来清空表的所有内容。但SQLite不支持这个语句。在SQLite中直接使用“DELETE FROM TableName

(1)复制表,并把原表的 所有记录都复制到新表里。

         CREATE TABLE newTb AS SELECT * FROM oldTb

(2)只复制表j结构,不复制数据到新表里。

          注:该语句无法复制关键值

         CREATE TABLE newTb AS SELECT * FROM oldTb WHERE 1=0

 (3)精准时间到毫秒

          SELECT strftime('%Y-%m-%d %H:%M:%f', 'now', 'localtime') FROM sqlite_master

          SELECT strftime('%Y-%m-%d %H:%M:%f', [TimeFiled]) AS Expr1 FROM YourTable

数据库设置默认字段Default Value: (strftime('%Y-%m-%d %H:%M:%f', 'now', 'localtime'))

在SQL中有如下两种方法可以实现将一个表中数据到另一个表中

1> select ... into new_tablename from ... where ... 2> insert (into) old_tablename select ... from ... where ... 区别是前者把数据插入一个新表(先建立表,再插入数据),

后者是把数据插入已经存在的一个表中,我个人喜欢后者,因为在编程的结构上,应用的范围上,第二条语句强于前者。

用方法2可在Sqlite中实现将limitinfo中部分数据拷贝到processlist中

insert into processlist select null,type,NAME,isuse from limitinfo where mac='00:E0:B1:09:95:C2'

之所以select子句第一个是null,是因为表中第一个参数是INTEGER自增,填充null后可以保证数据Id是自增的。

原文地址:https://www.cnblogs.com/yanhuiw/p/3705718.html