【快速入门】数据库的增删改查与结构讲解

文章的操作都是基于小皮php study的MySQL5.7.26进行演示

what

数据库是能长期存储在计算机内,有组织的,可共享的大量数据的集合。数据库中的数据按照一定的数据模型存储,具有较小的冗余性,较高的独立性和易扩展性,并为多用户共享。

我们可以把数据库的概念理解为excel:

  • 数据库(database)---excel工作簿,最高层次的组织单位,可以包含一个或多个工作表

  • 数据表(table)---excel工作表

  • 字段(field)是数据库逻辑结构的基本单位---excel中的单元格

    • 数据库中只有列的概念,所以字段(标明数据类型)是在创建表时就一并创建来定义表的结构,后续的增删改查对应的是字段的具体内容。没有空表这一说,创建数据表时至少定义一个字段

how---增删改查

新建数据库---增

库---create database [name];

删除数据库/表---删

---drop database [name]; drop table [name];

显示数据库名称---查

--show database 这是以数据库服务器的视角去罗列服务器中所有的数据库

新建表---增

create table 表名(

字段名称 字段数据类型(字符型后面要跟(number)来表明长度) 不同字段间用,分割

)

CREATE TABLE stuent(

id int primary key,name char(10),sex char(10),address char(10)

)default charset=utf8; #默认编码UTF-8--可忽略 使用自动填充出来就是大写

向表内填入数据---增

insert into 表名(按照字段的顺序与数据类型以逗号为分割进行增入)

INSERT INTO stuent VALUES(1,'二狗','boy','天津');INSERT INTO stuent VALUES(2,'香秀','girl','象牙山');

insert #插入

into #到·····地方

student1 # 我们之前创建的表名

values() #我们创建的字段里面填入值

---我们把id设为主键,就意味着对于每此增加字段时id都是不为空且唯一

修改表内数据---改

update 表名 set 字段= ---一改都该,字段内容统一,主键不允许被这样操作

update student set address='中国'

update #更新

student1 #表

set #设置

条件修改表内数据---改

update 表名 set 字段=new内容 where 字段= ps:多个条件用and/or连接

UPDATE stuent set address='象牙山'where id=2 '

删除表内数据---删

delete from 表名 where 字段=

---若没有where则是删除表内所有的字段内容,仅留下字段的数据结构

查询表内字段内容--查--一查查一列

select [字段] from [表]

当然可以跨库查询---SELECT [字段] FROM [库名.表名]

条件查询--查--筛选着查

select [字段] from [表] where 字段名=

information_schema数据库

是 MySQL 中的一个特殊数据库,它包含了关于所有其他数据库、表、列、数据类型、索引、约束、视图、存储过程和触发器等的元数据信息。这些信息对于数据库管理员和开发者来说是非常有用的,因为它们可以用来查询和管理数据库结构。

information_schema 数据库中的表是只读的,你不能在其中插入、更新或删除数据。这些表是由 MySQL 服务器在运行时动态生成的,以反映数据库系统的当前状态。

最重要的三个表-----

这个对于后续SQL注入时枚举数据库架构很有帮助---找到数据库找数据表然后再找字段最后对应字段内容(重要的密码信息等)

SCHEMATA

存储用户创建的所有数据库的库名。其中记录数据库库名的字段为SCHEMA_NAME

TABLES

存储用户创建的所有数据库的库名和表名。其中记录数据库库名和表名的字段分别为:TABLE_SCHEMATABLE_NAME

COLUMNS

存储用户创建的所有数据库的库名、表名、字段名。其中记录数据库库名、表名、字段名的字段分别为:table_schema、table_name、column_name

information_schema:表示所有信息,包括库、表、列

information_schema.tables:记录所有表名信息的表

information_schema.columns:记录所有列名信息的表

table_schema:数据库的名称

table_name:表名

column_name:列名

group_concat():显示所有查询到的数据

相关推荐
码明2 小时前
42.MySQL视图
数据库·oracle
山茶花开时。2 小时前
[Oracle] TO_NUMBER()函数
数据库·oracle
耳东哇4 小时前
阿里云百炼平台创建智能体-上传文档
数据库·redis·阿里云
是垚不是土5 小时前
JumpServer 堡垒机全流程搭建指南及常见问题解决方案
运维·安全·网络安全·github·系统安全·创业创新
ykuaile_h85 小时前
MySQL梳理三:查询与优化
数据库·mysql
掘根6 小时前
【Redis】string字符串
数据结构·数据库·redis
春天的菠菜7 小时前
【mysql】设置mysql数据库只读权限用户
数据库·oracle
找不到、了7 小时前
Mysql使用Canal服务同步数据->ElasticSearch
数据库·mysql·elasticsearch
宋大水8 小时前
【大作业-12】草莓成熟度检测模型,YOLO+PyQt+MySQL
数据库·深度学习·mysql·yolo·目标检测·pyqt·课程设计
赵_|大人9 小时前
Qt 自动无法加载数据库为空
开发语言·数据库·qt