win10使用dw做网站,网站seo怎么做的,wordpress说说分类,下载手机商城app下载安装一.简单介绍
SQLite是一款轻型的数据库#xff0c;是遵守ACID的关系型数据库管理系统#xff0c;它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的#xff0c;而且已经在很多嵌入式产品中使用了它#xff0c;它占用资源非常的低是遵守ACID的关系型数据库管理系统它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的而且已经在很多嵌入式产品中使用了它它占用资源非常的低在嵌入式设备中可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统同时能够跟很多程序语言相结合比如 Tcl、C#、PHP、Java等还有ODBC接口 。
SQLite第一个Alpha版本诞生于2000年5月。至2019年已经有19个年头SQLite也迎来了一个版本 SQLite 3已经发布 。
二.具体安装细节
2.1 下载
下载地址 :https://www.sqlite.org/download.html 具体下载window版本的即可
2.2 解压
解压文件后,我们进行点击操作 Shift 右键点击 sqlite3.exe 所在⽬录, 打开 powershell 2.3 sqlite的使用
对数据库的操作
创建数据库sqlite3 database_name.db删除数据库DROP DATABASE database_name.db
对表的操作
创建表
语法CREATE TABLE 表名(列名1 数据类型 “约束”(有可无)列名2 数据类型 “约束”(有可无)列名3 数据类型 “约束”(有可无)...);//注意SQL语句要以分号结尾
数据类型删除表
语法DROP TABLE 表名修改表结构
重命名:ALTER TABLE 旧表名 rename to 新表名
增加一列:ALTER TABLE 表名 add column 列名 数据类型向表插入数据
语法INSERT INTO 表名 VALUES(值1值2值3...);//给所有的列插入数据有多少列就要填多少值。INSERT INTO 表名 VALUE(列名1列名2....) VALUE (值1值2... );//给指定列插入数据
修改表内的数据
UPDATE 表名 set 列名 新值...;
UPDATE 表名 set 列名 新值...WHERE 条件//条件用来定位要修改的某些行
条件列名 运算符 值运算符 ! 如果有多个条件可以用and和or连接
egupdate stu set age 21;update stu set age 30 where num 1001;update stu set age 30 where num 60 and num 999;删除表中的所有数据
DELETE FROM 表名//删除表中所有的数据
DELETE FROM 表名 WHERE 条件//删除满足条件数据eg:delete from stu;delete from stu where num 1003;
select 数据查询
语法SELECT 列名1...FROM 表名SELECT *FROM 表名//查询整个表的数据SELECT *FROM 表名 where 条件//查询整个表的数据eginsert into stu1(stu_num,stu_name,age,,addr) select stu_num,stu_name,age,addr from stu;//从stu表中插入数据然后插入到stu1表中
高级查询
模糊查询列名 like 通配符 (_%)_: 匹配单个字符:匹配任意单个字符eg:select *from stu where name like wang_;select *from stu where name like %wang%
排序按指定的列名进行排序order by 列名 asc/desc;//asc:升序 desc降序egselect *from stu order by age desc;//根据年龄降序排序限制记录条数limit 数字eg:select *from stu limit 2;//查看表中的前两条记录排序限制egselect *from stu order by age desc limit 1;//查看年龄最大的记录聚合函数cout(列*名) //统计记录数量sum(列名) //计算给定列的总和avg(列名) //计算给定列的平均值min(列名) //计算给定列的最小值max(列名) //计算给定列*的最大值eg:select cout(*) from stu;select max(age)-min(age) from stu;别名egselect num AS 学号name AS 姓名 from stu分组group byegselect age,cout(*) from stu group by age;//查询每个年龄的人数范围查询between ... and ...eg: select *from stu where age between 10 and 20;去重distincteg:select distinct age from stu;子查询in(值...)in(select ...)eg:select *from stu where age in (18,20,25);select *from stu where age in (select age from stu where age 30); ★★★★★★多表联接select 列名... 表1表2...where 条件select 列名... form 表1 join 表2 on 联接条件 ... where 过滤条件eg学生表 学号 姓名 年龄 班级 学校 ...create table t_stu(num int primary key, name text,age int,class int school int);intsrt into t_stu values(1001,wb1,18,100101,2001);insert into t_stu values(1002,wb2,19,100101,2001);insert into t_stu values(1003.wb3,20,100101,2002);学校表编号 校名 电话 地址...create table t_school(num int primary key,name text, tel text,addr text);insert into t_school values(2001,first,010-123456,changsha);insert into t_school values(2002,second,010-0101011,shanghai);需求查询学生的学号姓名学校名select t_stu.num,t_stu.name,t_school,name from t_stu,t_school);》学生表中的每一行都与学校表中的每一行进行联结结果称之为 笛卡尔积此时需要指明两个表联结条件在上述表中联结条件是 学校的编号相同两种联结写法第一种 select t_stu,num, t_stu.name,t_school.name from t_stu,t_school where t_stu.school t_school.num;第二种select t_stu.num,t_stu.name,t_school.name from t_stu join t_school on t_stu.school t_school.num;select t_stu.num,t_stu.name,t_school.name from t_stu join t_school on t_stu.school t_school.num where t_stu.num 1002;
2.4 怎么使用jdbc连接sqlite
事先创建一个表
CREATE TABLE test(id int primary key,name varchar(20));然后我们开始对sqlite进行基本的操作. 1.首先引入sqlite依赖 进入maven官网,导入依赖 https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc/3.42.0.0
!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc --
dependencygroupIdorg.xerial/groupIdartifactIdsqlite-jdbc/artifactIdversion3.42.0.0/version
/dependency
2.编写数据库连接代码
public class ConnectionTest {public static void main(String[] args) throws SQLException {
// testInsert();testSelect();}private static void testSelect() throws SQLException {//1.创建数据源DataSource dataSourcenew SQLiteDataSource();((SQLiteDataSource)dataSource).setUrl(jdbc:sqlite://d:/ITsoftware/sqlite-tools-win32-x86-3420000/test.db);//2.建立连接Connection connection dataSource.getConnection();//3.构造SQL语句String sqlselect * from test;//4.执行SQL语句PreparedStatement statementconnection.prepareStatement(sql);ResultSet resultSetstatement.executeQuery();//5.遍历结果集合while (resultSet.next()){int idresultSet.getInt(id);String nameresultSet.getString(name);System.out.println(id id name);}//6.释放资源statement.close();resultSet.close();connection.close();}private static void testInsert() throws SQLException {//1.创建数据源 DatasourceDataSource dataSourcenew SQLiteDataSource();((SQLiteDataSource)dataSource).setUrl(jdbc:sqlite://d:/ITsoftware/sqlite-tools-win32-x86-3420000/test.db);//2.建立连接Connection connectiondataSource.getConnection();//3.构造Sql语句String sql insert into test values(?,?);//4.执行Sql预期PreparedStatement statementconnection.prepareStatement(sql);statement.setInt(1,11);statement.setString(2,李四);statement.executeUpdate();//5.释放资源statement.close();connection.close();}}