SQLite3学习笔记----创建数据库的两种方式
今天研究学习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学习笔记----创建数据库的两种方式的更多相关文章
- python 学习笔记(二)两种方式实现第一个python程序
在交互模式下: 如果要让Python打印出指定的文字,可以用print语句,然后把希望打印的文字用单引号或者双引号括起来,但不能混用单引号和双引号: >>> print 'hello ...
- Android开发之使用sqlite3工具操作数据库的两种方式
使用 sqlite3 工具操作数据库的两种方式 请尊重他人的劳动成果,转载请注明出处:Android开发之使用sqlite3工具操作数据库的两种方式 http://blog.csdn.net/feng ...
- 【java并发】传统线程技术中创建线程的两种方式
传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...
- 创建TabHost的两种方式的简单分析
最近做了一个TabHost的界面,在做的过程中发现了一些问题,故和大家分享一下. 首先我的界面如下: 目前就我所知,创建TabHost有两种方式,第一种是继承TabActivity类,然后用getTa ...
- 创建线程的两种方式比较Thread VS Runnable
1.首先来说说创建线程的两种方式 一种方式是继承Thread类,并重写run()方法 public class MyThread extends Thread{ @Override public vo ...
- .Net 中读写Oracle数据库常用两种方式
.net中连接Oracle 的两种方式:OracleClient,OleDb转载 2015年04月24日 00:00:24 10820.Net 中读写Oracle数据库常用两种方式:OracleCli ...
- ubuntu创建用户的两种方式
ubuntu创建用户有两种方式: useradd和adduser 这两者,就像零件与产品的关系.useradd是DIY,需要自己调配,adduser是品牌机,拿来就能用. 对于创建一般用户来讲,use ...
- Spring创建JobDetail的两种方式
一.Spring创建JobDetail的两种方式 二.整合方式一示例步骤 1.将spring核心jar包.quartz.jar和Spring-context-support.jar导入类路径. 2.编 ...
- Java并发基础01. 传统线程技术中创建线程的两种方式
传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...
随机推荐
- AI人工智能专业词汇集
作为最早关注人工智能技术的媒体,机器之心在编译国外技术博客.论文.专家观点等内容上已经积累了超过两年多的经验.期间,从无到有,机器之心的编译团队一直在积累专业词汇.虽然有很多的文章因为专业性我们没能尽 ...
- 第3课 进化后的const分析
C语言中的const const修饰的变量是只读的,本质还是变量 const修饰的局部变量在栈上分配空间(改变这个空间的值,这个变量就会改变) const修饰的全局变量在只读存储区分配空间 const ...
- 查看nvidia显卡命令
http://blog.csdn.net/luo123n/article/details/50296973 nvidia-smi
- WIN 10环境下JDK的安装和环境配置
在做测试的过程中,诸如Selenium.Appium.Macaca.Airtest.RobotFramework.Jmeter等框架或工具都需要用到一样基础的环境JAVA JDK.最近刚好换了电脑,就 ...
- 1029:Ignatius and the Princess IV
题目大意是找出数组中出现次数超过一半的数. 基本思想:每遇到两个不同的数就消掉,设一个计数器就行了. 存出现次数最大的那个数的出现次数. 当下一个数与当前的数不同时,计数器减一,相同,则加一. 实 ...
- http的报文结构和状态码的含义
HTTP响应报文解剖 响应报文结构 HTTP的响应报文也由三部分组成(响应行+响应头+响应体): 以下是一个实际的HTTP响应报文: ①报文协议及版本: ②状态码及状态描述: ③响应报文头,也是由多个 ...
- 解决Apache下生成静态页面乱码的问题
我的空间存放在阿里云,服务器默认Apache编码设置为utf-8,而新的网站珠宝招聘网http://hr.izuans.com 采用GB2312编码,其他程序文件都OK,就是生成静态新闻页和其他单页面 ...
- node.js + express 初体验【hello world】
[node.js] 一个神奇的XX 呵呵 :) 不知道怎么形容他才好! [express] 是node.js 开发web应用程序的框架 开发环境:XP 大家共同进步吧 :) 一:前期准备: 1:下载 ...
- vue项目修改favicon
首先你的在你的static文件中添加favicon.icon 然后通过以下方式进行修改 1)方式一:修改index.html文件 <link rel="shortcut icon&qu ...
- thinkphp3.2.3+smarty解决success调用模板错误心得
最近学习thinkphp上瘾,出现success找不到模板问题,查阅各大神解决方案,分享一下针对新手如何解决该问题,如有不对的地方请大神指正 1.首先修改自己的config文件,添加如下配置代码:// ...