软件测试|一篇文章教你SQL与NoSQL、数据库重要概念、SQL的基本语句

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 软件测试|一篇文章教你SQL与NoSQL、数据库重要概念、SQL的基本语句

SQL与NoSQL、数据库重要概念、SQL的基本语句

SQL与NoSQL

数据库服务端可以服务多种类型的客户端

​客户端可以是自己开发的,也可以是python代码编写的,也可以是其他编程语言编写的

  • SQL

    • 操作关系型数据的语言
  • NoSQL

    • 操作非关系型数据的语言

Tips:

  • SQL有时又也指代关系型数据库
  • NoSQL有时候也指代非关系型数据库

数据库重要概念

为了更方便的理解数据库的概念,将数据库分成了下列三种表述方式

  • 库 >>>>>:文件夹

    • show databases 查看库
  • 表 >>>>>:文件夹里的文件

    • show tables 查看库中的文件
  • 记录>>>>>:文件夹里的文件中一行一行的数据

    • select * from mysql.user

基本SQL语句

1、基于库-CRUD

  1. 创建库
    create database 库名

Query OK, 1 row affected (0.00 sec)

2. 查看库
- 查看所有库:show databases
- 查看指定库:show create database 库名
mysql> show databases;
Database
information_schema
mysql
performance_schema
test
userinfor

5 rows in set (0.00 sec)

show create database userinfor;

mysql> show create database userinfor;
Database Create Database
userinfor CREATE DATABASE userinfor /!40100 DEFAULT CHARACTER SET latin1 /

1 row in set (0.00 sec)

3. 编辑库
 - 修改库的编码类型
   - alter database 库名 charset='utf8';
- 删除库
  - drop database 库名;

mysql> alter database userinfor charset='utf8';
Query OK, 1 row affected (0.02 sec)

4. 切换库
use 库名

mysql> use userinfo;
Database changed


2、基于表-CRUD

我们对表进行操作之前必须先确定我们要操作的是哪个表

1. 创建表
create table 表名(字段名1 字段类型,字段名2 字段类型,..)

mysql> create table t1(name varchar(24),age int, gender varchar(23));
Query OK, 0 rows affected (0.01 sec)

2. 查看表
- 查看当前库下所有表
  - show tables
mysql> show tables;
Tables_in_userinfo
t1
t2
t3
t4
t6

5 rows in set (0.00 sec)

- 查看当前库下指定的表的信息
  - show create table 表名
mysql> show create table t1;
Table Create Table
                                              |
t1 CREATE TABLE t1 (

name varchar(24) DEFAULT NULL,
age int(11) DEFAULT NULL,
gender varchar(23) DEFAULT NULL

1 row in set (0.00 sec)

- 查看当前库下指定的表的结构
  - describe 表名
  - desc 表名
mysql> desc t1;
Field Type Null Key Default Extra
name varchar(24) YES NULL
age int(11) YES NULL
gender varchar(23) YES NULL

3 rows in set (0.02 sec)


3. 编辑表
- 修改表名
  - alter table 表名 rename 新表名

mysql> alter table t6 rename t5;
Query OK, 0 rows affected (0.00 sec)

- 删除表
  - drop table 表名

mysql> drop table t5;
Query OK, 0 rows affected (0.00 sec)



3、基于记录-CRUD
1. 插入记录
insert into 表名 values(数据值1,数据值2, ...)

mysql> insert into t1 values('kangkang', 18 ,'male'),('lizhi', 18 ,'male');
Query OK, 1 row affected (0.01 sec)


2. 查询记录
- 查询表中所有数据
  - select * from 表名
mysql> select * from userinfo.t1;
name age gender
kangkang 18 male
lizhi 18 male
3. 编辑数据
- 修改指定字段名下数据
  - update 表名 set 字段名=新数据 where 赛选条件

mysql> update t1 set name='kangk' where name='kangkang';
Query OK, 1 row affected (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 0


- 删除数据(删除表内所有数据)
  - delete from 表名

mysql> delete from t1;
Query OK, 2 rows affected (0.00 sec)

mysql> select * from userinfo.t1;
Empty set (0.00 sec)


- 删除表内指定数据
  - delete from 表名 where 筛选条件

mysql> delete from t1 where name='lizhi';
Query OK, 1 row affected (0.00 sec)

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
4月前
|
SQL 存储 关系型数据库
第二篇:关系型数据库的核心概念与 SQL 基础
本篇内容深入浅出地讲解了关系型数据库的核心概念与SQL基础,适合有一定计算机基础的学习者。文章涵盖数据库的基本操作(CRUD)、数据类型、表的创建与管理等内容,并通过实例解析SELECT、INSERT、UPDATE、DELETE等语句的用法。此外,还推荐了多种学习资源与实践建议,帮助读者巩固知识。学完后,你将掌握基础数据库操作,为后续高级学习铺平道路。
205 1
|
3月前
|
SQL 关系型数据库 MySQL
Go语言数据库编程:使用 `database/sql` 与 MySQL/PostgreSQL
Go语言通过`database/sql`标准库提供统一数据库操作接口,支持MySQL、PostgreSQL等多种数据库。本文介绍了驱动安装、连接数据库、基本增删改查操作、预处理语句、事务处理及错误管理等内容,涵盖实际开发中常用的技巧与注意事项,适合快速掌握Go语言数据库编程基础。
218 62
|
2月前
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
212 0
|
3月前
|
SQL 人工智能 关系型数据库
GitHub 热门!MindsDB 破解 AI + 数据库瓶颈,究竟有什么惊艳亮点?只需 SQL 即可实现智能预测
MindsDB 是一款将 AI 能力直接注入数据库的开源工具,支持 MySQL、PostgreSQL 等多种数据库连接,通过 SQL 即可完成模型训练与预测。它提供 AutoML 引擎、LLM 集成、联邦查询等功能,简化 MLOps 流程,实现数据到智能的无缝衔接。项目在 GitHub 上已获 32.4k 星,社区活跃,适用于客户流失预警、推荐系统、情感分析等场景。开发者无需深入模型细节,即可快速构建智能解决方案。项目地址:https://github.com/mindsdb/mindsdb。
482 0
|
5月前
|
SQL IDE 关系型数据库
JetBrains DataGrip 2025.1 发布 - 数据库和 SQL 跨平台 IDE
JetBrains DataGrip 2025.1 (macOS, Linux, Windows) - 数据库和 SQL 跨平台 IDE
296 0
|
12月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
407 13
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
260 9
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
165 6
|
存储 SQL C++
对比 SQL Server中的VARCHAR(max) 与VARCHAR(n) 数据类型
【7月更文挑战7天】SQL Server 中的 VARCHAR(max) vs VARCHAR(n): - VARCHAR(n) 存储最多 n 个字符(1-8000),适合短文本。 - VARCHAR(max) 可存储约 21 亿个字符,适合大量文本。 - VARCHAR(n) 在处理小数据时性能更好,空间固定。 - VARCHAR(max) 对于大文本更合适,但可能影响性能。 - 选择取决于数据长度预期和业务需求。
985 1