MySQL数据库概念、管理以及SQL语句的基本命令操作

这篇具有很好参考价值的文章主要介绍了MySQL数据库概念、管理以及SQL语句的基本命令操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、数据库概念

1、数据库的组成:数据、表、数据库

数据(data)

  • 描述事物的符号记录
  • 包括数字,文字、图形、图像、声音、档案记录等
  • 以“记录”形式按统一格式进行存储(记录可以看成一条记录)

  • 将不同的记录组织在一起
  • 用来存储具体数据
  • 记录:行
  • 字段(属性):列
  • 以行+列的形式就组成了表(数据存储在表中)

数据库

  • 表的集合,是存储数据的仓库
  • 以一定的组织方式存储的相互有关的数据集合
  • 多张表存储在数据库中
  • “关系型数据库”表与表字段/属性的关联

2、数据库类型

(1)关系型数据库
  存储的往往是字符、字符串、数值、布尔值等
  代表有:Mysql (Oracle公司) 、SQL server (微软) 、access (微软公司office产品)"oracle、DB2 (IBM公司) 、 sybase (sybase)等等

(2)非关系型数据库(NoSQL (Not Only SQL))
  存储的往往是图片、视频、语音等
  代表有:MongoDB 、 Redis (内存数据库/缓存数据库) K-V键值对、与之类似的Mcmcache K-V键值对

  • redis 与 Mcmcache
    相同点:存储高热数据(在内存中高速运行)
    不同点 :redis可以做持久化保存,可以存储对象

3、数据库的管理系统(DBMS)

  • 是实现对数据库资源有效组织、管理和存取的系统软件
  • 功能:数据库的建立和维护功能、数据定义功能、数据操控功能、数据库的运行管理功能、通信功能

4、数据库系统(DBS)

  • 是一个人机系统,由硬件、OS、数据库、DBMS、应用软件和数据库用户组成
  • 用户可以通过DBMS或应用程序操作数据库

二、数据库系统发展史

1、第一代数据库

  • 自20世纪60年代起,第一代数据库系统问世
  • 是层次模型与网状模型的数据库系统
  • 为统一管理和共享数据提供了有力的支撑

2、第二代数据库

  • 20世纪70年代初,第二代数据库——关系数据库开始出现
  • 20世纪80年代初,IBM公司的关系数据库系统DB2问世,开始逐步取代层次与网状模型的数据库,成为行业主流
  • 到目前为止,关系数据库系统仍占领数据库应用的主要地位

3、第三代数据库

  • 自20世纪80年代开始,适应不同领域的新型数据库系统不断涌现
    面向对象的数据库系统,实用性强、适应面广
  • 20世纪90年代后期,形成了多种数据库系统共同支撑应用的局面
  • 一些新的元素被添加进主流数据库系统中,例如:Oracle支持的“关系-对象"数据库模型

4、当前主流使用

  • 当前主流数据库的使用方法为:SQL+NoSQL,能在高并发时,NoSQL能为SQL进行相应的减压

三、当今主流数据库

类型 特点
SQL Server (微软公司产品) 面向Windows操作系统
简单、易用
Oracle (甲骨文公司产品) 面向所有主流平台
安全、完善、操作复杂
DB2 (IBM公司产品) 面向所有主流平台
大型、安全、完善
MySQL (甲骨文公司收购) 免费、开源、体积小

MySQL数据库概念、管理以及SQL语句的基本命令操作

四、关系型数据库

  • 常见的关系型数据库典型代表:Mysql(5.7 / 8.0)、Mariadb、Oracle、SQL Server、PostgreSQL、DB2
  • 国产数据库代表:阿里云的RDB、华为的高斯、腾讯的TDBA、阿里的Oceanbase、人大金仓、达梦

1、介绍

  • 关系数据库系统是基于关系模型的数据库系统
  • 关系模型的数据结构使用简单易懂的二维数据表
  • 每一行称为一条记录,用来描述一个对象的信息
  • 每一行称为一个字段,用来描述对象的一个属性
  • 关系模型可用简单的"实体-关系-属性"来表示

MySQL数据库概念、管理以及SQL语句的基本命令操作

2、实体

  • 也称为实例,对应现实世界中可区别与其他对象的“事件”或“事物”
  • 如银行客户、银行账户等

3、关系

  • 实体集之间的对应关系称为联系,也称为关系
  • 如银行客户和银行账户之间存在“储蓄”的关系

4、属性

  • 实体所具有的某一特性,一个实体可以有多个属性
  • 如“银行客户”实体集中的每个实体均具有姓名、住址、电话等属性

5.存储结构

  • 是二维表格,先建立库,在建立,在建立列()和行*()

五、MySQL数据库基本命令操作

类型 说明
int 整型(定义整数类型数据)
float 单精度浮点,4字节32位,准确到小数点后六位
double 双精度浮点,8字节64位
char 固定长度的字符类型,定义字符类数据
varchar 可变长度的字符类型
text 文本
image 图片
decimal (5,2) 5个有效长度数字,小数点后面有2位,指定长度数组

1.查看数据库结构

(1)、进入数据库

mysql -u root -p
-u 连接数据库的用户名
-p 后面跟的是连接数据库的密码(不能有空格)

MySQL数据库概念、管理以及SQL语句的基本命令操作

(2)、查看数据库的信息

SHOW DATABASES;						#大小写不区分,分号“;”表示结束

MySQL数据库概念、管理以及SQL语句的基本命令操作

(3)、查看数据库中包含的表

USE 数据库名;
SHOW TABLES;

MySQL数据库概念、管理以及SQL语句的基本命令操作

(4)、查看表的结构(字段)

USE 数据库名;
DESCRIBE [数据库名.]表名;
可缩写成:DESC 表名;

这里执行就像我们在Linux中使用绝对路径和相对路径一样,当你在所在表的库中时,可省略前面的数据库名(相对路径)。
当你需要对其他库中的表进行操作时,就需要加上库名(绝对路径)进行操作。

MySQL数据库概念、管理以及SQL语句的基本命令操作

2.SQL语句概述

(1)、SQL语言

  • Structured Query Language 的缩写,即结构化查询语言
  • 关系型数据库的标准语言
  • 用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能

(2)、SQL分类

DDL 数据定义语言,用于创建数据库对象,如库、表、索引等
DML 数据操纵语言,用于对表中的数据进行管理
DQL 数据查询语言,用于从数据表中查找符合条件的数据记录
DCL 数据控制语言,用于设置或者更改数据库用户或角色权限

3.SQL语句基本操作

(1)、DDL:用于创建数据库对象,如库、表、索引等

  • 创建新的数据库
CREATE DATABASE 数据库名;

MySQL数据库概念、管理以及SQL语句的基本命令操作

  • 创建新的表
CREATE TABLE 表名 (字段1 数据类型,字段2 数据类型[,...][,PRIMARY KEY (主键名)]);
#主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键。

create table class1(id int, name char(4), age int, sex char(4));
desc class1;
show tables;

MySQL数据库概念、管理以及SQL语句的基本命令操作

field 字段
type 类型
null 允许为空
not null 不允许为空
default 默认为空
primary key 主键(一般选择没有重复且不为空的字段)
  • 删除指定的数据表
use 数据库名;
drop table 表名;
或
drop table [数据库名.]表名;

MySQL数据库概念、管理以及SQL语句的基本命令操作

  • 删除指定的数据库
DROP DATABASE 数据库名;

例:show databases;
drop table internet.class2
show tables;

MySQL数据库概念、管理以及SQL语句的基本命令操作

(2)、DML管理表中的数据记录

- 向数据表中插入新的数据记录:insert
insert into 表名(字段1,字段2[,...]) values(字段1的值,字段2的值,...);;

insert into class1(id,name,age,sex) values(1, 'xc', 24, '男');
desc class1
select * from class1

MySQL数据库概念、管理以及SQL语句的基本命令操作

- 查询数据记录
SELECT 字段名1,字段名2[,...] FROM 表名 [WHERE 条件表达式];

select * from class1
select name,sex from class1 where id=2;
select name,age from class1 where id=1;

MySQL数据库概念、管理以及SQL语句的基本命令操作

- 修改、更新数据表中的数据记录:update
update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];

insert into class1 values(4,'gw',26,'男');
insert into class1 values(6,'yxy',23,'女');
insert into class1 values(6,'yxy',23,'女');
select * from class1;

select * from class2
update class2 set address='江苏南京鼓楼' where id =1;
select * from class2;

MySQL数据库概念、管理以及SQL语句的基本命令操作
MySQL数据库概念、管理以及SQL语句的基本命令操作

- 在数据表中删除指定的数据记录:delete
delete from 表名 [where 条件表达式];

delete class1 id=3 where name='ywy';
select * from class1;

MySQL数据库概念、管理以及SQL语句的基本命令操作

(3)、DQL 查询数据记录——select

select 字段名1,字段名2[,...] from 表名 [where 条件表达式];

小技巧:
select * from 表名;           #显示全部
select 字段1,字段2 from 表名;  #显示字段1和字段2  
select 字段1 from 表名\G;      #以列表形式竖向显示
select * from 表名 info limit 2;   #只显示头2行
select * from 表名 info limit 2,3; #显示第2行后的前3行

MySQL数据库概念、管理以及SQL语句的基本命令操作
MySQL数据库概念、管理以及SQL语句的基本命令操作

MySQL数据库概念、管理以及SQL语句的基本命令操作

(4)、修改表名和表结构——alter

- 修改表名
ALTER TABLE 旧表名 RENAME 新表名;

例:alter table class1 rename class2;
show tables;
select * from class1;
select * from class2;

MySQL数据库概念、管理以及SQL语句的基本命令操作

- 扩展表结构(增加字段)
alter table class2 add address varchar(30) default '地址不详';
#default ‘地址不详’:表示此字段设置默认值 地址不详;可与 NOT NULL 配合使用

MySQL数据库概念、管理以及SQL语句的基本命令操作

- 修改字段(列)名,添加唯一键
alter table 表名 change 旧列名 新列名 数据类型 [unique key];

#change 可修改字段名、数据类型、约束等所有项

MySQL数据库概念、管理以及SQL语句的基本命令操作

唯一键:唯一,但可以为空(空值只能出现一次)
#每张表往往有多个字段具有唯一性,但是只能指定一个主键,所以唯一键就是用来解决表中多个字段需要具有唯一性的问题

主键包含唯一键的部分属性
唯一键不能完全作为主键

select * from class2;

insert into class2(id,personal_name,age,sex) values(7,'nwt',22,'女');  		#因为personal_name中已经存在nwt,所以不能在创建相同的数据
insert into class2(id,personal_name,age,sex) values(7,'aklnjl',22,'女');	#因为设置的字数不超过5个,很明显违反了规则

insert into class2(id,personal_name,age,sex) values(7,'opp',22,'女');
select * from class2;

MySQL数据库概念、管理以及SQL语句的基本命令操作

4、删除字段、主键

alter table 表名 drop 字段名;

 alter table class2 drop age;
 select * from class2;
alter table class2 drop sex;
select * from class2;

MySQL数据库概念、管理以及SQL语句的基本命令操作文章来源地址https://www.toymoban.com/news/detail-482290.html

到了这里,关于MySQL数据库概念、管理以及SQL语句的基本命令操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MySQL数据库】MySQL 高级SQL 语句一

    ) % :百分号表示零个、一个或多个字符 _ :下划线表示单个字符 ‘A_Z’:所有以 ‘A’ 起头,另一个任何值的字符,且以 ‘Z’ 为结尾的字符串。例如,‘ABZ’ 和 ‘A2Z’ 都符合这一个模式,而 ‘AKKZ’ 并不符合 (因为在 A 和 Z 之间有两个字符,而不是一个字符)。 ‘ABC%’

    2024年02月09日
    浏览(241)
  • 【数据库】MySQL 高级(进阶) SQL 语句

    location表格创建 store_info表格创建 显示表格中一个或数个字段的所有数据记录 不显示重复的数据记录 按照条件进行查询 在已知的字段数据取值范围内取值 另外还有not in命令,用法一致,表示显示不在指定范围内的字段的值。 在两个字段数据值之间取值,包含两边字段的数据

    2024年02月09日
    浏览(136)
  • 在SQL server中用sql语句实现数据库的备份以及还原

    本文给大家提供并讲解了在SQL server中用SQL语句实现数据库的备份已经还原 假设你已经有一个数据库Student 创建备份设备,其名称为bk_Student,保存文件为D: Student.bak,并对Student数据库进行完全备份,备份到备份设备bk_ Student中。  在Student数据库中,创建一张表temp并对Student数

    2024年02月03日
    浏览(62)
  • 【MySQL】数据库SQL语句之DML

    目录 前言: 一.DML添加数据 1.1给指定字段添加数据 1.2给全部字段添加数据 1.3批量添加数据 二.DML修改数据 三.DML删除数据 四.结尾   时隔一周,啊苏今天来更新啦,简单说说这周在做些什么吧,上课、看书、放松等,哈哈哈,所以博客就这样被搁了。   今天感觉不错,给大

    2024年02月08日
    浏览(68)
  • MySQL相关的SQL语句、数据库、数据表、字段、类型

    1、 SQL 语句不区分大小写。 SQL语句 用途 描述 mysql -u root -p 连接 MySQL 在命令行窗口中输入 mysql -u root -p 命令,回车,然后输入 MySQL 密码(不要忘记了密码,找回麻烦),再回车就连接上 MySQL 了。最初都是使用 root 用户登录,工作中不能一直使用 root 用户登录。因为 root 权限太

    2024年02月13日
    浏览(95)
  • MySQL数据库中的索引(含SQL语句)

    假设有一张表,表中有100万条数据,这100万条数据在硬盘上是存储在数据页上的,一页数据大小为16k。存储100万条数据那么就需要数据页,假设其中有一条数据是“id为7900”的,那么如果要查询这条数据,其中SQL是SELECT * FROM 表名 WHERE id = 7900。在执行这条SQL语句的时候,MyS

    2024年02月02日
    浏览(80)
  • MySQL数据库管理高级语句

    复制表及内容     克隆表 获取数据表的表结构、索引等信息    清空表,删除表内的所有数据       删除的特点: 创建临时表 临时表创建成功之后,使用SHOWTABLES命令是看不到创建的临时表的, 临时表会在连接退出后被销毁。 如果在退出连接之前,也可以可执行增删改查

    2024年02月11日
    浏览(70)
  • mysql,用sql语句,建立学生-课程数据库基本表

    学生表 学号 姓名 年龄 性别 院系 Student Sno Sname Sage Ssex Sdept 课程表 课程号 课程名 先行课 学分 Course Cno Cname Cpno Ccredit 选课表 学号 课程号 成绩 SC Sno Cno Grade 注意创建表的时候要注意它的字段名,类型,长度,约束条件,取值范围要合适,大小写符号要正确,中文逗号,分号

    2024年02月08日
    浏览(58)
  • MySQL 数据库实用指南:测试数据准备、SQL语句规范与基本操作

    欢迎来到小K的MySQL专栏,本节将为大家准备MySQL测试数据、以及带来SQL语句规范、数据库的基本操作的详细讲解 要学习SQL查询语句,首先必须解决一个问题,数据问题。为了方便大家学习阅读我的文章,在这里提供了一个test.sql文件 ✨ 登录MySQL,输入 source xxx/test.sql 导入sql文

    2024年02月08日
    浏览(82)
  • MySQL数据库第十一课---------SQl语句的拔高-------水平提升

                                                       个人主页 ::小小页面                   gitee页面 :秦大大                 一个爱分享的小博主  欢迎小可爱们前来借鉴 ______________________________________________________    SQL提高   日期函数     

    2024年02月16日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包