SQLite数据库基本操作(举例说明)

SQLite数据库基本操作

  • 介绍
  • 在线安装
  • 命令分类
    • 系统命令(以‘.’开头)
    • sql命令
      • 创建一个学生管理系统数据库,需要 **学号、姓名、电话、地址** 等信息。
      • 然后创建一张表,然后查看:
      • 然后插入一个学生信息:
      • 更新已有的数据:
      • 增加一列数据:
      • 删除一个不需要的学生信息:
      • 删除某一列:
        • 1、根据旧表创建一张新表:
        • 2、删除原来的表:
        • 3、更改新表名字为stu:

介绍

SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。 至2019年已经有19个年头,SQLite也迎来了一个版本 SQLite 3已经发布。----百度百科

系统:ubuntu16.04

在线安装

sudo apt-get install sqlite3

命令分类

系统命令(以‘.’开头)

主要是做系统相关工作,并不真正操作数据库。
例如:
- .quit 退出
- .help 帮助
- .exit 退出
- .schema 查看数据库结构
- 在这里插入图片描述
- .databases 查看数据库列表
- 在这里插入图片描述
- .table查看表列表
在这里插入图片描述

sql命令

对数据库进行‘增删改查’的命令

创建一个学生管理系统数据库,需要 学号、姓名、电话、地址 等信息。

sqlite3 student.db # 创建一个数据库并进入

在这里插入图片描述

然后创建一张表,然后查看:

create table stu(id integer,name char,phone integer,addr char); #创建一张含有学生信息的表
.schema   #系统命令不需要分号

在sqlite中,数据的定义方式为 数据名 数据类型id integer就表示定义可一个整型的数据来保存id。字符串用char定义。sql命令以;结束,若命令后无分号,视为命令还未结束,可继续输入命令。
在这里插入图片描述

然后插入一个学生信息:

insert into stu values(20201,'zhangsan','13955555555','beijing');
select * from stu;# 查看stu表中的数据 

其中*为通配符,意为查看所有数据
在这里插入图片描述
还可以这样插入:

insert into stu (id,name) values (20202,'lisi'); #注意参数顺序要对应
select * from stu;

可见,参数可以留空。
在这里插入图片描述

更新已有的数据:

update stu set addr='sichuan' where id=20202;
select * from stu;

这样就将id为20202的学生的地址给更新了,如果将命令where id = 20201,则id为20201的学生的地址将会被覆盖。
在这里插入图片描述
可以同属更新多个数据:

update stu set addr='shandong',phone=15155555555 where name='lisi';

将要更新的多个数据用隔开。
在这里插入图片描述
使用and 和 or:
将满足条件的数据更新:

update stu set addr = 'shanghai' where addr='beijing' or addr = 'shandong';

将地址为北京和山东的同学的地址改为了上海。
在这里插入图片描述

增加一列数据:

为每个学生增加分数列:

alter table stu add column score integer;  #指定表,然后添加一列,类型为整型。
.schema 

在这里插入图片描述

删除一个不需要的学生信息:

delete from stu where id=20202;

发现已经将id为20202的学生信息删掉了,同样的where后面可以用andor。也可以根据名字等其他信息进行删除,只需将id换为name等。
在这里插入图片描述

删除某一列:

sqlite的删除一列较为麻烦,需要按照以下步骤进行操作:

1、根据旧表创建一张新表:

删除分数列(即保留id name addr phone):

create table stu1 as select id ,name,phone,addr from stu;

利用系统命令.table查看数据库下创建的表。其中包含刚刚创建的。然后可以发现stu1表中只保留了除分数以外的信息。
在这里插入图片描述
新表中score没了。
在这里插入图片描述

2、删除原来的表:

drop table stu;
.table

drop命令删除一张表:
在这里插入图片描述

3、更改新表名字为stu:

alter table stu1 rename to stu;

在这里插入图片描述
删除列完成。

你可能感兴趣的:(数据库)