Home > Database > Mysql Tutorial > sqlite3命令大全_MySQL

sqlite3命令大全_MySQL

WBOY
Release: 2016-06-01 13:04:12
Original
1115 people have browsed it

1. 查看sqllite的版本信息:

\

2 创建数据库

\

3 退出sqlite命令行的方式:

sqlite>.quit 或 sqlite>.exit命令

\

4 列出当前显示格式的配置

\

5 显示数据库表结构

\

6 向表中插入数据

\

7 设置导出目标

\

\

12 设置显示模式: .mode 模式

有好几种显示模式,默认的是 list 显示模式,一般我们使用 column 显示模式,还有其他几种显示模式可以 .help 看 mode 相关内容。看看下面的图,和上面是不是显示的不一样了?

\

\

13 设置 NULL 值显示成什么样子: .nullvalue 你想要的NULL值格式

默认情况下NULL值什么也不显示,你可以设置成你自己想要的样子

\

14 配置文件 .sqliterc

如果我们每次进入命令行都要重新设置显示格式,很麻烦,其实 .show 命令列出的所有设置项都可以保存到一个 .sqliterc 文件中,这样每次进入命令行就自动设置好了。.sqlterc 文件在 Linux 下保存在用户的 Home 目录下,在 Windows 下可以保存到任何目录下,但是需要设置环境变量让数据库引擎能找到它,感兴趣的可以看看帮助。

15 自定义分隔符

\

\

16 显示标题栏 .header on

\

不显示标题栏:.header off

\

 

三.数据库和表的相关命令

1、创建一个新的数据库:sqlite3 文件名

创建一个test.db数据库文件,打开控制台窗口,命令如下:

 

2、打开一个已经存在的数据库:sqlite3已经存在的文件名

创建一个数据库和打开一个已经存在的数据库命令是一模一样的,如果存在,则打开。

3 建立数据表

create table table_name(field type1,fieldtype1,….);

table_name是要创建数据表的名称,field x上是数据库表内字段名字,typex则是字段类型。

如:该语句创建一个记录学生信息的数据表

\

 

sql的指令格式:所有sql指令都是以分号(;)结尾,两个减号(--)则表示注释

4 添加数据记录

insert into table_name(列 field1,field2,….)values(值val1,val2,….);

val x为需要存入字段的值。

例如,往老师信息表添加数据:

\

很简单,创建了一个Teachers表并向添加了四条数据,设定了一些约束,其中有自动增加的主键、默认值等等。

5、修改数据

UPDATE 表 SET 列 = ‘新值’ 【WHERE 条件语句】

UPDATE语句用来更新表中的某个列,如果不设定条件,则所有记录的这一列都被更新;如果设定了条件,则符合条件的这一列被更新,WHERE子句被用来设定条件,如下例:

\

\

6 删除数据 DELETE FROM 表 【WHERE条件语句】

如果设定WHERE条件子句,则删除符合条件的数据记录;如果没有设定条件语句,则删除所有记录。

\

7 导入数据: .read 数据文件

打开记事本,并将下列SQL语句复制到记事本中,保存为test.sql,在命令行环境中输入

.read test.sql

BEGIN TRANSACTION;

CREATE TABLE Cars(Id integer PRIMARY KEY, Name text, Cost integer);

INSERT INTO Cars VALUES(1,'Audi',52642);

INSERT INTO Cars VALUES(2,'Mercedes',57127);

INSERT INTO Cars VALUES(3,'Skoda',9000);

INSERT INTO Cars VALUES(4,'Volvo',29000);

INSERT INTO Cars VALUES(5,'Bentley',350000);

INSERT INTO Cars VALUES(6,'Citroen',21000);

INSERT INTO Cars VALUES(7,'Hummer',41400);

INSERT INTO Cars VALUES(8,'Volkswagen',21600);

COMMIT;

BEGIN TRANSACTION;

CREATE TABLE Orders(Id integer PRIMARY KEY,

OrderPrice integer CHECK(OrderPrice>0),Customer text);

INSERT INTO Orders(OrderPrice, Customer) VALUES(1200, "Williamson");

INSERT INTO Orders(OrderPrice, Customer) VALUES(200, "Robertson");

INSERT INTO Orders(OrderPrice, Customer) VALUES(40, "Robertson");

INSERT INTO Orders(OrderPrice, Customer) VALUES(1640, "Smith");

INSERT INTO Orders(OrderPrice, Customer) VALUES(100, "Robertson");

INSERT INTO Orders(OrderPrice, Customer) VALUES(50, "Williamson");

INSERT INTO Orders(OrderPrice, Customer) VALUES(150, "Smith");

INSERT INTO Orders(OrderPrice, Customer) VALUES(250, "Smith");

INSERT INTO Orders(OrderPrice, Customer) VALUES(840, "Brown");

INSERT INTO Orders(OrderPrice, Customer) VALUES(440, "Black");

INSERT INTO Orders(OrderPrice, Customer) VALUES(20, "Brown");

COMMIT;

\

8、查询数据记录

A查询输出列出数据记录

select * from table_name;

b 限制输出数据记录数量

若数据库中的数据太多,全部返回可不行,可以限制返回的数量,还可以设定返回的起始位置

select * from table_name limit val;

\

C 升序输出数据记录

select * from table_name order by fieldasc;

\

D 降序输出数据记录

select * from table order by field desc;

\

E 条件查询

select * from table_name where expression;

IN(集合)

select * from table_name where field in(‘val1’,’val2’,’val3’);

\

BETWEEN值1 AND值2

select * from table_name where fieldbetween val1 and val2;

select * from Cars where cost between 41400and 350000;

\

F、查询记录数目

select count(*) from table_name;

\

G、区分列数据

select distinct field from table_name;

有一些字段的值可能会重复出现,distinct去掉重复项,将列中各字段值单个列出。

\

h 别名SELECT 列AS别名,列AS别名FROM

可以返回数据集中的某些列起一个比较直观的名字,比如把Const改为”Price Of Car”

\

l、条件查询SELECT列FROM表 【WHERE条件语句】

一般的条件语句都Shiite大于、小于、等于之类的,这里有几个特别的条件语句

LIKE

-------------------------------

LIKE 用通配符匹配字符串

下划线_ 匹配一个字符串

百分号% 匹配多个字符串

LIKE匹配字符串时不区分大小写

\

GLOB

J 区分 DISTINCT 列

有一些字段的值可能会出现重复,比如订单表中,一个客户可能会有好几份订单,因此客户的名字会重复出现。

到底有哪些客户下了订单呢?下面的语句将客户名字区分出来。

\

K 分组GROUP BY列

分组和前面的区分有一点类似。区分仅仅是为了去掉重复项,而分组是为了对各类不同项进行统计计算。

比如上面的例子,我们区分出5个客户,这5个客户一共11个订单,说明很多客户都下了不止一个订单。

下面的语句的统计每个客户在订单上总共花费了多少钱。

\

9 建立索引

当说数据表存在大量记录,索引有助于加快查找数据表速度。
create index index_name on table_name(field);
例,针对学生表stu_no字段,建立一个索引:
create index student_index on student_table(stu_no);

\

建立完成后,sqlite3在对该字段查询时,会自动使用该索引。

10 删除数据表或索引

drop table table_name;

drop index index_name;

11 sqlite3存储数据的类型

NULL:标识一个NULL值

INTEGER:整数类型

REAL:浮点数

TEXT:字符串

BLOB:二进制数

12 sqlite3存储数据的约束条件

Sqlite常用约束条件如下:

PRIMARY KEY -主键

1) 主键的值必须唯一,用于标识每一条记录,如学生的学号

2) 主键同时也是一个索引,通过主键查找记录速度较快

3) 主键如果是整数类型,该列的值可以自动增长

NOT NULL – 非空

约束列记录不能为空,否则报错

UNIQUE – 唯一:

除主键外,约束其它列的数据的值唯一

CHECK – 条件检查:

约束该列的值必须符合条件才可存入

DEFAULT – 默认值:

列数据中的值基本都是一样的,这样的字段列可设为默认值

CREATE TABLE Orders(Id integer PRIMARY KEY,

OrderPrice integer CHECK(OrderPrice>0),

Customer text);

 

CREATE TABLE Friends(Id integer PRIMARY KEY, Name text UNIQUE NOT NULL,

Sex text CHECK(Sex IN ('M', 'F')));

 

 

 

CREATE TABLE IF NOT EXISTS Reservations(Id integer PRIMARY KEY,

CustomerId integer, Day text);

INSERT INTO Reservations(CustomerId, Day) VALUES(1, '2009-22-11');

 

CREATE TABLE Books(Id integer PRIMARY KEY, Title text, Author text,

Isbn text default 'not available');

13 怎么在已经创建的表中插入一列

ALTER TABLE table-name

ADD COLUMN column-name column-type;

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template