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)

相关推荐
源分享6 天前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
JAVA9656 天前
JAVA面试-JVM篇 03-JVM运行时数据区哪些是线程私有的哪些是共享的
java·jvm·面试
伶俜667 天前
鸿蒙原生应用实战(十八)ArkUI 记账本:SQLite 账单 + 图表统计 + 分类管理
jvm·sqlite·harmonyos
IronMurphy7 天前
多线程问!
java·jvm·spring
unique7 天前
AI Coding 采集方案探索
jvm·人工智能·oracle
cfm_29147 天前
JVM GC日志解析
jvm
不良使7 天前
鸿蒙PC迁移:使用Electron`logseq-master-ohos` 鸿蒙适配全记录
jvm·electron·harmonyos
cfm_29148 天前
JVM深度详解:Class常量池、运行时常量池、字符串常量池、包装类对象池
java·jvm
JAVA9658 天前
JAVA面试-JVM篇 02-G1垃圾收集器的工作原理是什么与CMS的区别
java·jvm·面试