软件测试|一篇文章教你SQL与NoSQL、数据库重要概念、SQL的基本语句
2023-06-13 09:16:56 时间
SQL与NoSQL、数据库重要概念、SQL的基本语句
SQL与NoSQL
数据库服务端可以服务多种类型的客户端
客户端可以是自己开发的,也可以是python代码编写的,也可以是其他编程语言编写的
- SQL
- 操作关系型数据的语言
- NoSQL
- 操作非关系型数据的语言
Tips:
- SQL有时又也指代关系型数据库
- NoSQL有时候也指代非关系型数据库
数据库重要概念
为了更方便的理解数据库的概念,将数据库分成了下列三种表述方式
- 库 >>>>>:文件夹
- show databases 查看库
- 表 >>>>>:文件夹里的文件
- show tables 查看库中的文件
- 记录>>>>>:文件夹里的文件中一行一行的数据
- select * from mysql.user
基本SQL语句
1、基于库-CRUD
- 创建库 create database 库名mysql> create database userinfor; Query OK, 1 row affected (0.00 sec)
- 查看库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)mysql> alter database userinfor charset='utf8'; Query OK, 1 row affected (0.02 sec)mysql> use userinfo; Database changed
- 查看所有库:show databases
- 查看指定库:show create database 库名
- 编辑库
- 修改库的编码类型
- alter database 库名 charset='utf8';
- 删除库
- drop database 库名;
- 切换库 use 库名
2、基于表-CRUD
我们对表进行操作之前必须先确定我们要操作的是哪个表
- 创建表 create table 表名(字段名1 字段类型,字段名2 字段类型,..)mysql> create table t1(name varchar(24),age int, gender varchar(23)); Query OK, 0 rows affected (0.01 sec)mysql> show tables; +--------------------+ | Tables_in_userinfo | +--------------------+ | t1 | | t2 | | t3 | | t4 | | t6 | +--------------------+ 5 rows in set (0.00 sec)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)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)
- 查看表
- 查看当前库下所有表
- show tables
- 查看当前库下指定的表的信息
- show create table 表名
- 查看当前库下指定的表的结构
- describe 表名
- desc 表名
- 编辑表mysql> alter table t6 rename t5; Query OK, 0 rows affected (0.00 sec)mysql> drop table t5; Query OK, 0 rows affected (0.00 sec)
- 修改表名
- alter table 表名 rename 新表名
- 删除表
- drop table 表名
3、基于记录-CRUD
- 插入记录 insert into 表名 values(数据值1,数据值2, ...)mysql> insert into t1 values('kangkang', 18 ,'male'),('lizhi', 18 ,'male'); Query OK, 1 row affected (0.01 sec)
- 查询记录mysql> select * from userinfo.t1; +----------+------+--------+ | name | age | gender | +----------+------+--------+ | kangkang | 18 | male | | lizhi | 18 | male | +----------+------+--------+mysql> update t1 set name='kangk' where name='kangkang'; Query OK, 1 row affected (0.02 sec) Rows matched: 1 Changed: 1 Warnings: 0
- 查询表中所有数据
- select * from 表名
- 编辑数据
- 修改指定字段名下数据
- update 表名 set 字段名=新数据 where 赛选条件
- 删除数据(删除表内所有数据)mysql> delete from t1;
Query OK, 2 rows affected (0.00 sec)
mysql> select * from userinfo.t1;
Empty set (0.00 sec)
- delete from 表名
- 删除表内指定数据
- delete from 表名 where 筛选条件
mysql> delete from t1 where name='lizhi';
Query OK, 1 row affected (0.00 sec)
相关文章
- 什么是ER图?数据库ER图基础概念整理
- ospf数据库同步过程_OSPF的概念
- 数据库设计之概念结构设计工具_数据库关系设计
- MYSQL数据库-基础概念
- MySQL数据库常用概念和数据类型
- 小白也能看懂的Redis遍历键和数据库管理详解
- 一道SQL面试例题 if…else 与聚集函数详解数据库
- PLSQL连接Oracle 数据库配置详解数据库
- 来了解一下Mysql索引的相关知识:基础概念、性能影响、索引类型、创建原则、注意事项详解数据库
- 事务的概念详解数据库
- Oracle数据库突破并发限制(oracle数据库并发数)
- Oracle数据库中移动分区表实践(oracle移动分区表)
- Redis:革命性的数据库技术(redis的概念)
- 数据库使用SqlDBx连接Oracle数据库的指南(sqldbx连接oracle)
- 基于Redis脚本实现交互式数据库管理(redis脚本)
- 运算Oracle数据库的相交运算:分析概念与实施(oracle相交)
- Oracle实例用户:详解数据库管理中的重要概念(oracle实例用户)
- 对比分析:Oracle与NoSQL数据库的优劣比较(oracle与nosql)
- Redis:革命性的NoSQL数据库(redis概念)
- 探究MySQL事务概念,深入了解数据库操作原理(mysql事务是什么)
- 压缩mssql数据库的简单方法分享(如何压缩mssql数据库)
- 深入探索PostgreSQL特性,助力数据库开发与管理(postgresql特性)
- MySQL数据库简介:了解MySQL数据库的基本概念(mysql数据库概念)
- 使用SQL Server语句提升数据库运行效率(sqlserver或语句)
- MySQL和NoSQL:数据库选择该如何抉择?(mysql和nosql)
- MySQL如何快速列出所有数据库(mysql列出所有数据库)
- Oracle先分组,后更新数据库(oracle先分组后更新)
- 新兴Nosql与传统Oracle数据库技术比较(nosql oracle)
- MySQL转换Oracle实现数据库迁移(mysql转换oracle)
- Oracle数据库中连接的概念及含义(oracle中连接的含义)
- Oracle数据库中的事务概念(oracle中事务的概念)
- SQLServer2008数据库镜像部署实例之一数据库准备