今天研究学习SQLite,刚开始创建数据库,就遇到了一个坑,是自己粗心了,特记录一下。

实验环境:

OS:Ubuntu18.04

创建数据库名称:test.db

实验步骤:

1.检查是否已经安装了SQLite

进入命令行,切换到准备建立数据库的文件夹,输入SQLite3

显示已经安装了SQLite

2、创建数据库

看网上资料,创建数据库,SQLite3 databaseName

输入SQLite3 test.db

报错,错误信息:Error: near "sqlite3":syntax error

查网上资料,都是说的是这个指令:sqlite3 databasename

3.在一台Windonws的电脑上,下载安装了Sqlite,配置好环境变量,进入命令行,输入SQLite3,顺利进入,再输入sqlite3 test.db,仍然报这错误信息。

后来退出sqllite,直接在命令行输入sqlite3 test.db,成功了,并且进入了sqlite>,创建表,插入输入,退出后,查看文件夹下,已经有了test.db这个文件

上面是未创建数据库前的查询

退出SQLite,直接在命令行输入:sqlite3 test.db,成功

查询文件夹下,已经有了test.db这个文件夹

4.参照下图,进入SQLite后,输入.open fileName这个方式,也可以创建数据库,如果filename是已经建立的数据库文件,则打开。

如果不存在,则建立这个数据库。

使用.open Test1.db,创建这个数据库

查看文件夹下,已经有了这个数据库,Test1.db。

5.如何使用呢?

在命令行输入sqlite3,进入sqlite>

使用.open filename,filename为你的数据库文件,打开后,开始使用。

6.我想Ubuntu下,也应该是这个问题,直接切换到待建数据库的文件夹,输入sqlite3 test.db

输入sqlite3 test.db,没有报错,但在创建表的时候,却报错,Error:unable to open database "test.db":unable to open database file

退出来以后,使用ls命令,发现当前文件夹下也没有test.db这个文件,这又是什么原因呢?

分析,应该是当前账号对/opt/database这个文件夹的操作权限不够,才导致不能在这个文件夹下建立数据库文件。

设置/opt/database文件夹的操作权限

cd..

sudo chmod 777 database

重新进入database文件夹,cd database

重复按照前面步骤开始建立数据库

sqlite3 test.db

create table employee(id integer,name text)

insert into employee values(1,'zhang san')

insert into employee values(2,'Li si‘)

select  * from employee

.exit

在linux下也成功建立了sqlite的数据库。

尝试第2种方式,在linux下建立数据库,同样成立,这里就不重复了。

SQLite3学习笔记----创建数据库的两种方式的更多相关文章

  1. python 学习笔记(二)两种方式实现第一个python程序

    在交互模式下: 如果要让Python打印出指定的文字,可以用print语句,然后把希望打印的文字用单引号或者双引号括起来,但不能混用单引号和双引号: >>> print 'hello ...

  2. Android开发之使用sqlite3工具操作数据库的两种方式

    使用 sqlite3 工具操作数据库的两种方式 请尊重他人的劳动成果,转载请注明出处:Android开发之使用sqlite3工具操作数据库的两种方式 http://blog.csdn.net/feng ...

  3. 【java并发】传统线程技术中创建线程的两种方式

    传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...

  4. 创建TabHost的两种方式的简单分析

    最近做了一个TabHost的界面,在做的过程中发现了一些问题,故和大家分享一下. 首先我的界面如下: 目前就我所知,创建TabHost有两种方式,第一种是继承TabActivity类,然后用getTa ...

  5. 创建线程的两种方式比较Thread VS Runnable

    1.首先来说说创建线程的两种方式 一种方式是继承Thread类,并重写run()方法 public class MyThread extends Thread{ @Override public vo ...

  6. .Net 中读写Oracle数据库常用两种方式

    .net中连接Oracle 的两种方式:OracleClient,OleDb转载 2015年04月24日 00:00:24 10820.Net 中读写Oracle数据库常用两种方式:OracleCli ...

  7. ubuntu创建用户的两种方式

    ubuntu创建用户有两种方式: useradd和adduser 这两者,就像零件与产品的关系.useradd是DIY,需要自己调配,adduser是品牌机,拿来就能用. 对于创建一般用户来讲,use ...

  8. Spring创建JobDetail的两种方式

    一.Spring创建JobDetail的两种方式 二.整合方式一示例步骤 1.将spring核心jar包.quartz.jar和Spring-context-support.jar导入类路径. 2.编 ...

  9. Java并发基础01. 传统线程技术中创建线程的两种方式

    传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...

随机推荐

  1. linux网络监控_网速测试

    Linux下查看网络即时网速 1.sar命令(一般般) sar -n DEV 1 100 1代表一秒统计并显示一次 100代表统计一百次 sar在sysstat包 2.使用ntop图形工具(没详细用过 ...

  2. BZOJ5090: [Lydsy1711月赛]组题(01分数规划)

    5090: [Lydsy1711月赛]组题 Time Limit: 1 Sec  Memory Limit: 256 MBSubmit: 785  Solved: 186[Submit][Status ...

  3. bzoj 3144 [Hnoi2013]切糕——最小割

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3144 一根纵轴上切一个点,可以把一根纵轴上的点连成一串来体现.自己的写法是每个点连向前一个点 ...

  4. 列表查询SQL语句改造

    一个经常遇到到的场景,就是查询列表数据,列表数据由多张表构成 最简单的查询方法是先写一个查询单条数据的方法,比如这个方法中要查询十张表: 然后一个循环调用查单条的方法,这种逻辑上理解是比较简单的(因为 ...

  5. 【python】python实例集<一>

    #打开一个记事本 import os os.startfile('notepad.exe') #当前文件的根目录 import os print os.path.join(os.path.dirnam ...

  6. CentOS之NTP服务器配置

    本文使用CentOS 6.5作为搭建环境 一.服务器端配置 1.安装所需软件包 yum -y install ntp ntpdate---------------------------------- ...

  7. coding github 配置ssl 免密拉取代码

    详细介绍: https://www.cnblogs.com/superGG1990/p/6844952.html 注:其中检验过程与下述不同,可以先在对应git库使用 git pull 一次,选择信任 ...

  8. 智能家居入门DIY——【六、使用OneNet后台处理数据】

    OneNet使用起来要比lewei50复杂一些,它没有前台需要自己开发.命令下发也和之前介绍的lewei50有一些区别,这里着重介绍一下使用MQTT协议来进行通讯. 一.准备 1.Esp8266开发板 ...

  9. 2018-2019学年第一学期Java课程设计

    目录 Magic-Towers 一.团队课程设计博客链接   [团队博客地址](https://www.cnblogs.com/lmb171004/p/10271667.html 二.个人负责模块或任 ...

  10. bootstrap全局css样式

    以下从官网抄来的,感觉还是很实用的,运用得好,灵活运用,非常方便快捷,能大大提高开发效率,也为调整不同尺寸的屏幕节省了时间. hidden-xs @media (max-width: 767px){ ...