SQL数据库-SQL命令-SQL语言

我要成为嵌入式高手之3月12日Linux高编第二十天!!


数据库软件

关系型数据库:

Mysql

Oracle

SqlServer

Sqlite

非关系型数据库(相当于在内存中搞了一块空间),能够快速完成对用户的响应

Redis

NoSQL

一、数组、链表、文件、数据库

数组、链表:内存存放数据(程序结束数据丢失)

文件、数据库:外存存放数据的方式(程序结束数据不会丢失)

文件:数据量很小 处理效率很低

数据库:数据量很大 处理数据(增删改查)效率高

二、安装sqlite数据库

1、让虚拟机上网

2、apt---get工具集配置好

3、sudo apt-get install sqlite3

4、启动sqlite3

5、输入.quit退出

三、SQL命令

1、.header(s) ON|OFF 打开/关闭 数据库中列名称

2、.mode MODE设置输出格式

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| * csv 逗号分隔的值 * column 左对齐的列 * html HTML 的 <table> 代码 * insert TABLE 表的 SQL 插入(insert)语句 * line 每行一个值 * list 由 .separator 字符串分隔的值 * tabs 由 Tab 分隔的值 * tcl TCL 列表元素 |

3、.schema 表名称 ---查看表名称对应的表的格式(有哪几列?每一列类型?)

4、.width 宽度---设置显示时的数据宽度

5、.tables 查看数据库当中的所有表

四、SQL语言

数据的:增、删、改、查

1、使用sqlite3打开数据库文件

sqlite3 + 数据库文件名

sqlite3 student.db

2、创建表

create table

示例:

sqlite> create table student (id integer, name varchar(255), sex varchar(32), age integer, score integer);

3、插入数据

insert into

示例:

sqlite> insert into student values (1001, "张三", "男", 19, 80);

sqlite> insert into student (id, name, score) values (1002, "李四", 100);

sqlite> insert into student values (1002, "王二", "女", 18, NULL);

4、查找数据

select

示例:

sqlite> select * from student;

sqlite> select name, score from student;

5、内容匹配

where

示例:

sqlite> select * from student where name like "%张%";

6、主键

key:键值

primary key:设置为键值

primary key asc:id自动增长

内键:在表中唯一标识一条数据称为内键

外键:与外部表进行标识的数据称为外键

7、删除

delete from

示例:

delete from 表名字 where 信息

8、修改

update

  1. UPDATE table_name
  2. SET column1 = value1, column2 = value2...., columnN = valueN
  3. WHERE condition;

示例:

update buyorder set contact="王五",produce="华为" where id=10;

9、排序

order by

asc升序、desc降序

select * from buyorder order by time desc;

select * from buyorder order by time asc;

多表联合查询:

1、交叉连接

cross join

A∪B(A表当中每一项和B表当中每一项做连接)

2、内连接

inner join

A∩B(AB共同部分)

3、外连接

outer join

A∪(A∩B)

相关推荐
mister_guo3 小时前
JVM 内存管理原理及生产配置实战:从“参数能启动”到“内存可控”
java·jvm
wear工程师1 天前
Java 类初始化到底何时触发?别把加载、连接和 static 执行混在一起
java·jvm
程序员雷欧1 天前
线上频繁触发各种 GC 的原因排查与处理指南
java·jvm·算法
wuminyu2 天前
JVM利用io_uring优化堆外内存性能原理剖析
java·linux·c语言·jvm·c++
147API3 天前
Python批量生成蒸馏数据,并发、重试、幂等和断点续跑
开发语言·jvm·python
wuminyu3 天前
JDK21解决虚拟线程IO阻塞原理剖析
java·linux·c语言·jvm·c++
sunywz3 天前
【JVM】(8)JVM调优实战及常量池详解
jvm
wuminyu4 天前
虚拟线程底层ForkJoinPool的工作窃取算法机制
java·linux·c语言·jvm·c++
leisoo80974 天前
股票数据本地化存储实战:JSON、数据库与列式存储的方案对比
jvm·数据库·json
SamChan904 天前
PDF翻译中的并发控制:用Semaphore防止API限流与资源耗尽
java·jvm·pdf