首页 > 数据库 >数据库基础

数据库基础

时间:2023-07-18 18:13:17浏览次数:35  
标签:insert -- 数据库 基础 students 数据 create

正文:

  • 基本介绍
  • Navicat基本使用
  • 数据库操作
  • 数据表操作
  • 数据操作-增删改

 

数据库:是指长期存储在计算机内、有组织的数据集合

表是数据库中存储数据的基本单位,数据按照分类存储到不同的表中,能够非常高效的查询其中的数据。

 

常见数据库分类:

  • 关系型数据库
  • 非关系型数据库

查看数据库排名:https://db-engines.com/en/ranking

关系型数据库
RDMS:(Relational Database Management System)关系型数据库系统

将数据间的关系以数据库表的形式加以表达,并将数据存储在表格中,以便于查询。

关系型数据库的代表产品:

  • Oracle:在大型项目中使用,例如: 银行、电信等项目
  • MySQL:Web 项目中使用最广泛的关系型数据库
  • Microsoft SQL Server: 在微软的项目中使用
  • SQLite:轻量级数据库,主要应用在移动平台

关系型数据库的核心元素:

  • 数据行(一条记录)
  • 数据列(字段)
  • 数据表(数据行的集合)
  • 数据库(数据表的集合,一个数据库中能够有n多个数据表)

非关系型数据库

将数据以key,value、文本、图片等形式存储的数据构成

  • Redis
  • MongoDB

SQL介绍

SQL: Structured Query Language (结构化查询语言),通过SQL语言可以对数据库进行操作

主流的关系型数据库都支持使用 SQL 语言进行操作,也就是说可以通过 SQL 语言操作 Oracle.
MySQL、Microsoft SQL Server、SQLite 等关系型的数据库。

SQL语言的分类

  • DQL:数据查询语言,用于对数据进行查询,例如:select
  • DML:数据操作语言,对数据进行增加、修改、删除,例如: insert、update、delete
  • DCL: 数据控制语言,进行授权与权限回收,例如: grant、revoke
  • DDL: 数据定义语言,进行数据库、表的管理等,例如: create、drop

注意:1,对于测试工程师来说,重点是数据的查询,因此需要熟练编写DQL  2,在 MySQL中,默认对 SQL 语法不区分大小写

 

远程连接数据操作

(1)第一步,建立Mysql数据库连接

 (2)配置信息并测试连接

注意事项:

 

数据类型和约束

常用数据类型

整数无符号设置

 

约束

 主键

 不能为空

唯一

默认值

外键

 

数据库操作

  • 创建数据库
  • 使用数据库

创建数据库

新建查询窗口

执行单条语句

 语法格式

-- 创建数据库
create database 数据库名 [charset] [字符编码] [collate] [校验规则];
-- 创建结果查看
数据库名;show create database;

举例

-- 创建一个叫python的数据库
create database python charset=utf8 collate=utf8_general_ci;
-- 查看创建结果
show create database python;

使用数据库

语法格式

-- 使用(打开)数据库
use 数据库名;

-- 查看当前使用的数据库,database是SQL的内置函数,括号不能省略
select database();

举例说明

-- 使用(打开)python数据库
use python;

修改数据库

语法格式

alter database [数据库名]
[default] character set <字符集名>
[default] collate <校对规则名>;

举例说明

-- 创建testpython数据库,字符集为gb2312
create database testpython charset=gb2312
-- 修改testpython的指定字符集修改为 utf8mb4,默认校对规则修改为utf8mb4_general_ci
alter database testpython
default character set utf8mb4
default collate utf8mb4_general_ci;

删除数据库

语法格式

drop database 数据库名;

举例说明

-- 删除python数据库
drop database python;

数据库其他操作

查看所有数据库

show database;

备份数据库(Linux命令行)

mysqldump -uroot -p 数据库名 > python.sql;
-- 按提示输入mysql的密码

恢复数据库(Linux命令行)

mysql -uroot -p 新数据库名 < python.sql
-- 根据提示输入mysql密码

 

数据表的操作

创建表

-- 创建表
create table 表名(
    字段名 类型 约束,
    字段名 类型 约束
    ...   
);
-- 查看创建的表
show create table 表名;

举例说明

例:创建学生表,字段要求如下:

姓名(长度为10)

create table students(
    name varchar(10)   
)

例:创建学生表,字段要求如下:

姓名(长度为10),年龄

create table students(
    name varchar(10),
    age int unsigned
);

例:创建学生表,字段要求如下:

姓名(长度为10),年龄,身高(保留小数点两位)

-- unsiged:无符号,primary:主键,auto_increment:自动增长
create table students( id int unsigned primary key auto_increment, name varchar(20), age int unsigned, height decimal(5, 2) );
-- 扩展:判断表是否存在,存在时先删除再创建
drop table if exists students;

获取创表语句

 

 

查看表信息

show create table students;

查看表结构

语法格式

desc 表名;

举例说明

desc students;

删除表

语法格式

-- 格式一
drop table 表名;
-- 格式二
drop table if exists 表名;

举例说明

例如:删除学生表

drop table students;
-- 或者
drop table if exists students;

 

数据操作-增删改

添加数据

添加一行数据

格式一:所有字段设置值,值的顺序与表中字段的顺序对应

说明:主键列是自动增长,插入时需要占位,通常使用0或者default 或者 null来占位,

insert into 表名 values(...)

例如:插入一个学生,设置所有字段的信息

insert into students values(0,'亚瑟',22,177.56)

格式二:部分字段设置值,值的顺序与给出的字段顺序对应

insert into 表名(字段1,...) values(值1,....)

例如:插入一个学生,只设置姓名

insert into students(name) values('老夫子')

添加多行数据

方式一:写多条insert语句,语句之间用英文分号隔开

insert into students(name) values('老夫子2');
insert into students(name) values('老夫子3');
insert into students values(0,'亚瑟2',23,167.56);

方式二:写一条insert语句,设置多条数据,数据之间用英文逗号隔开

格式一:insert into 表名 values(...),(...)...

例如:插入多个学生,设置所有字段的信息

insert into students values(0,'亚瑟3',23,167.56),(0,'亚瑟4',23,167.56)

格式二:insert into 表名(列1,...) values(值1,...),(值2,...)...

insert into students(name) values('老夫子'),('老夫子2')

 修改字段值

语法格式

update 表名 set 列1=值1,列2=值2... where 条件;

举例说明

例如:修改id为5的学生数据,姓名改为 狄仁杰,年龄改为20

update students set name='狄仁杰',age=20 where id=5

 删除表记录

语法格式

格式一

delete from 表名 where 条件;

举例说明

例如:删除id为6的学生数据

delete from students where id=6;

逻辑删除:对于重要的数据,不能轻易的执行delete语句进行删除,因为一旦删除,数据无法恢复,此时可以考虑进行逻辑删除。

1,给表添加字段,代表数据是否删除,一般起名isdelete,0代表未删除,1代表删除,默认为0

2,当要删除某条数据时,只需要设置这条数据的isdelete字段为1

3,以后在查询数据时,只查询出isdelete为0的数据

 

 

 

 

学习:黑马测试

标签:insert,--,数据库,基础,students,数据,create
From: https://www.cnblogs.com/jiushao-ing/p/17561709.html

相关文章

  • Python基础(3)
    面向对象编程根据类来创建对象称为实例化。这里只过一下大概的面向对象的内容,不做细讲。可以直接查阅资料。https://www.runoob.com/python3/python3-class.html创建和使用类及实例给出一个类的使用例子:classDog:def__init__(self,name,age):self.name=na......
  • 3.18 基础案例2.0-定位电话
    基础案例2.0-定位电话简介准备硬件图功能实现1、物联网平台开发2、设备端开发调试物联网应用开发3.1新建‘普通项目’3.2关联产品和设备3.3新建web应用3.4添加组件3.5保存预览简介本案例模拟手机通话功能,主控板上有三个按钮,RST重启按钮、BOOT下载模式按钮、KEY1自定义按钮。KE......
  • Linux基础第二章
    一、Linux基础命令二1.cat显示命令cat:显示文件内容选项效果-n显示行号包括空行-b跳过空白行编号-s将所有的连续的多个空行替换为一个空行(压缩成一个空行)-A显示隐藏字符 cat   选项   文件路径cat 选项  test.txt打开test.txt也可以同时打开多个......
  • 软件测试-基础阶段学习
    阶段目标  能独立针对web项目实施功能测试 一、测试介绍什么是软件测试使用技术手段验证软件是否满足需求测试主流技能功能测试自动化测试接口测试性能测试主流方向建议:功能测试+接口测试自动化测试+接口功能+性能二、测试常用分类2.1阶段划分单元测试......
  • 神经网络基础理解
    搜参搜的不够思考来源:https://www.bilibili.com/video/BV1ih411J7Kz?t=616.1&p=2中说“搜参搜的不够”在神经网络中,"搜参搜的不够"通常指的是通过随机搜索或优化算法来寻找神经网络的最佳超参数配置时,搜索空间覆盖不足的情况。神经网络的性能和效果很大程度上取决于其超参数的......
  • 零基础入门——从零开始学习PHP反序列化笔记(二)
    魔术方法魔术方法介绍__construct()触发时机:实例化对象之前构造函数,在实例化一个对象的时候,首先会去自动执行的一个方法;<?phpclassUser{public$username;publicfunction__construct($username){$this->username=$username;echo"......
  • Python基础(2)
    if语句给出一个简单的示例cars=["audi","bmw","subaru","toyota"]forcarincars:ifcar=="bmw":print(car.upper())else:print(car.title())每条if语句的核心都是一个值为True或False的表达式,这种表达式称为条件测......
  • jfinal 框架学习笔记-第三天 Model相关学习--record+Model增删改查的用法(震惊之今日刷
    1.了解了数据库连接池。其中使用最多也是最广泛的是druid数据库连接池也就是阿里云研发的数据库连接池2.ActiveRecord(jFinal的核心技术)+DruidPlugin(数据库连接词,如何与数据库打交道)ActiveRecord:1.Record(记录,相当于一个通用的Model),2.Model(提供日常CRUD的封装)Model示例......
  • 什么是 数据框,与数据库 有什么区别
    数据框(DataFrame)是一种二维数据结构,它类似于表格,具有行和列的结构。数据框是一种常见的数据结构,用于在统计分析和数据处理中存储和操作数据。在数据框中,每一列可以是不同的数据类型,如数值、字符、逻辑值等。数据框通常被用于在编程语言中处理和分析数据,例如R语言的数据框。数据......
  • 第2章-VRP基础
    第2章-VRP基础2.2VRP命令行3.命令行视图最常用的命令行视图有用户视图、系统视图和接口视图进入命令行后,首先进入的就是用户视图。提示符<Huawei>中,“<>”表示是用户视图,“Huawei"是设备缺省的主机名。在用户视图下使用system-view命令,便可以进入到系统视图。此时的提......