写点什么

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

  • 2023-10-10
    北京
  • 本文字数:2380 字

    阅读完需:约 8 分钟

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 库名


  mysql> create database userinfor;Query OK, 1 row affected (0.00 sec)
复制代码


  1. 查看库


  • 查看所有库: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)
复制代码


  1. 编辑库


  • 修改库的编码类型

  • alter database 库名 charset='utf8';

  • 删除库

  • drop database 库名;


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


  1. 切换库 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)
复制代码


  1. 查看表


  • 查看当前库下所有表

  • 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) ENGINE=InnoDB DEFAULT CHARSET=latin1 |+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+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)
复制代码


  1. 编辑表


  • 修改表名

  • 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)
复制代码


  1. 查询记录


  • 查询表中所有数据

  • select * from 表名


mysql> select * from userinfo.t1;+----------+------+--------+| name     | age  | gender |+----------+------+--------+| kangkang |   18 | male   || lizhi    |   18 | male   |+----------+------+--------+
复制代码


  1. 编辑数据


  • 修改指定字段名下数据

  • 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)
复制代码


获取更多技术资料,请点击!

用户头像

社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
软件测试|一篇文章教你SQL与NoSQL、数据库重要概念、SQL的基本语句_霍格沃兹测试开发学社_InfoQ写作社区