sqlite和mysql常用知識點

來源:互聯網
上載者:User

首先是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;

MYSQL:

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 char(2),primary key (col1,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');

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.