首先是sqlite:
1.命令行注释符--
2.分页查询
select * from messages limit 10,100;
表示跳过10行,取100行的返回结果。
3.设置默认字段值
CREATE TABLE t2(id integer default 0,time datetime default (strftime('%Y-%m-%d %H:%M:%s','now')));
或者CREATE TABLE t2(id integer default 0,time datetime default (datetime()));
4.连接字符串连接符号||
例:
update message set content=content||'abc';
5.联合主键
create table test(col1 char(2),col2 char(2),primary key (col1,col2));
6.插入数据时候如果主键已经存在则忽略(替换)此句
insert or ignore(replace) into user values('abc');
7.建立触发器自动更新表的last_update_time:
create trigger tr_test before update on test for each row begin update test set gtime = datetime() where id = new.id; END;
1.命令行注释符#
2.分页查询
select * from messages limit 10,100;
表示跳过10行,取100行的返回结果。
3.建表时间列默认为当前时间
CREATE TABLE mTable( my_time timestamp default current_timestamp);
4.连接字符串连接函数concat
例:
update message set content=content||'abc';
5.联合主键
create table test(col1 char(2),col2));
6.插入数据时候如果主键已经存在则忽略(替换)此句
insert or ignore(replace) into user values('abc');
7.建表时字段区分大小写
column_name varchar(20) character set utf8 collate utf8_bin
8.使用变量做表名 /* -----创建存储过程:sp_auto_create-------*/ delimiter ;; create procedure sp_auto_create(in tname char(32)) begin set @stmt=concat('create table ',tname,'(id int,name varchar(10));'); prepare s1 from @stmt; execute s1; end ;; delimiter ; /* -----执行存储过程:sp_auto_create,自动生成表test-------*/ call sp_auto_create ('test');