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)

相关推荐
大大大大物~2 小时前
JVM 之 线上诊断神器Arthas实战【内部原理?常用命令?如何使用Arthas排查cpu飙高、类加载问题、死锁、慢接口等线上问题?】
jvm·oom·arthas
zfj3212 小时前
排查java应用内存溢出的工具和方法
java·开发语言·jvm·内存溢出
【非典型Coder】5 小时前
volatile 的顺序性和可见性原理详解
jvm
SRETalk5 小时前
SRE 踩坑记:JVM 暂停竟然是因为日志
jvm·stw
小飞Coding6 小时前
🔍 你的 Java 应用“吃光”了内存?别慌,NMT 帮你揪出真凶!
jvm·后端
小飞Coding6 小时前
Java堆外内存里的“密文”--从内存内容反推业务模块实战
jvm·后端
【非典型Coder】8 小时前
JVM 垃圾收集器中的记忆集与读写屏障
java·开发语言·jvm
大大大大物~8 小时前
JVM 之 内存溢出实战【OOM? SOF? 哪些区域会溢出?堆、虚拟机栈、元空间、直接内存溢出时各自的特点?以及什么情况会导致他们溢出?并模拟溢出】
java·jvm·oom·sof
Tan_Ying_Y8 小时前
JVM性能检测及调优
jvm