软件测试|一篇文章教你SQL与NoSQL、数据库重要概念、SQL的基本语句
  X7HGjGJ7MG9G 2023年11月02日 28 0

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)


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
X7HGjGJ7MG9G
最新推荐 更多