"" type="text/javascript">
频道栏目
首页 > 资讯 > SQL Server > 正文

在命令行使用SQL语句操作sqlite数据库(操作解析)

18-06-06        来源:[db:作者]  
收藏   我要投稿

在命令行使用SQL语句操作sqlite数据库

1. 创建数据库文件(DB)

 $: sqlite3 DatabaseName.db

 创建成功后,会自动进入sqlite命令行的界面" sqlite> "

 eg:

 $: sqlite3 testDB.db  // 打开名为testDB的数据文件,不存在则创建

2. 输入" .database " 查看数据库文件信息

 seq // 序号

 name // 数据库名

 file // 数据库文件名

 文件权限:- rw- r-- r--

3. 创建数据表   '语法'

 CREATE TABLE table_name (

     列名1  类型1  [约束],

     列名2  类型2  [约束],

     ...);

 【注】sql语句中不区分大小写,习惯把'关键字'(create table)写成大写

 eg:

  创建一个公司员工信息表company,

  列包含:ID、姓名、年龄、地址、薪资

 sqlite> CREATE TABLE company(

 ...> id INT PRIMARY KEY NOT NULL,

 ...> name TEXT NOT NULL,

 ...> age INT NOT NULL,

 ...> address TEXT,

 ...> salary REAL NOT NULL);

 sqlite> .table       ---> '  .table  ' // 查看表的名字 .ta

 company

 sqlite> .schema      ---> '  .schema  ' // 查看创建表详细信息 .sc

 CREATE TABLE company(

 id INT PRIMARY KEY NOT NULL,

 name TEXT NOT NULL,

 age INT NOT NULL,

 address TEXT,

 salary REAL NOT NULL);

 '[约束]':

  PRIMARY KEY   // 主键约束,数据唯一,并且可以加快数据访问

  NOT NULL    // 非空,限制插入数据不能为空

 '类型关键字':

  INT  整型

  TEXT 文本字符串

  REAL 浮点数

练习:

 创建学生成绩的数据表

 表名:Student

 列名:ID(INT)  NAME(TEXT)  SCORE(REAL)

 要求ID唯一,每一列的数据非空。

 sqlite> create table Student(

   ...> ID INT PRIMARY KEY NOT NULL,

   ...> NAME TEXT NOT NULL,

   ...> SCORE REAL NOT NULL);

4. 删除数据库表  '语法'

 DROP  TABLE  表名;

 eg:

 DROP TABLE Student;

 将Student表删除,里面的数据也会被删除,且数据恢复比较困难。

5. 插入数据 '语法'

 INSERT  INTO   表名

    (列名1, 列名2, 列名3...)

    VALUES(数据1, 数据2, 数据3...);

 eg:向company表中插入数据

  10086 "张飞" 30岁  "四川"  800.5

  10011 "关羽" 31岁  801.5

 INSERT INTO company

    (id, name, age, address, salary)

    VALUES(10086, "张飞", 30, "四川", 800.5);

 INSERT INTO company

    (id, name, age, salary)

    VALUES(10011, "关羽", 31, 800.5);

6. 查询数据 '语法'

 select * from company;

 eg:

 sqlite> select * from company ;

 10011|关羽|31|成都|801.5

 10011|关羽|31|成都|801.5

 10086|张飞|30|四川|800.5

 10000|曹操|35||999.9

 10002|刘备|34|河南|855.5

 10013|关兴|28|湖南|600.5

 10015|刘禅|18|北京|300.0

 10014|曹植|16|广东|1200.5

 10008|赵云|26|上海|888.8

7. 删除数据 '语法'

 DELETE FROM 表名 WHERE [条件]  // 一般使用唯一属性进行匹配删除

 eg:// 比如 id

 DELETE FROM company WHERE id = 10000;  

8. 修改数据 '语法'

 UPDATE 表名 SET 列名1 = 数值1, 列名2 = 数值2...  WHERE [条件];  

 // 一般使用唯一属性进行匹配修改单条信息

 eg:

 UPDATE company SET age= 26 WHERE id= 10014;

 UPDATE company SET address= "上海" WHERE id < 10014;    

 // 算数:+ - * / %   比较:==  =  !=  <> >  <  >=  <=  !<  !>

 // 逻辑:AND  BETWEEN  EXISTS  IN  LIKE

 // 逻辑:GLOB  NOT  OR  IS  UNIQUE

9. 查询数据 '语法'

 // 所有列,可以用 * 替换

 SELECT  列名1, 列名2, 列名3...  FROM   表名;

 SELECT  列名1, 列名2, 列名3...  FROM   表名 WHERE [条件];

 SELECT  列名1, 列名2, 列名3...  FROM   表名 WHERE [条件]

    ORDER BY 列名  ASC/DESC ;    // ASC 升序,DESC 降序

 eg:

 SELECT id, name FROM company;

 SELECT id, name FROM company WHERE id > 10014;

 SELECT * FROM company WHERE salary < 1000;

 SELECT id,name FROM company ORDER BY id ASC;

相关TAG标签
上一篇:在同一台服务器部署多个Tomcat的操作教程
下一篇:VMware虚拟机启动出错:device eth0 does not seem to be present, delaying initialization的解决办法
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站