热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

全网最全MySQL数据库基础1

目录1.数据库介绍为什么使用数据库:2.数据库分类:3.SQL分类4.数据库操作1.查询服务器上的所有数据库:showdatab

目录

1.数据库介绍

为什么使用数据库:

2.数据库分类:

3.SQL分类

4.数据库操作

1.查询服务器上的所有数据库:show databases;

 2.创建数据库(创建项目):

3.使用数据库(切换数据库):use 数据库名

4.删除数据库:DROP DATABASE [IF EXISTS] db_name;

 MySQL数据库类型:

数值类型:

字符串类型:

日期类型:

表的操作用法

1.创建表的语法:           

2. 查询所有的表名:

3. 查询表结构:

4.删除表

5.修改表结构 




1.数据库介绍


为什么使用数据库:

数据的存储可以用文件,但文件保存数据有四个缺点,如下:


(1)文件的安全性问题

(2)文件不利于数据查询和管理

(3)文件不利于存储海量数据

(4)文件在程序中控制不方便


数据库存储介质: 磁盘 内存
为了解决上述问题,专家们设计出更加利于管理数据的软件——数据库,它能更有效的管理数据。数据 库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器。

2.数据库分类:

数据库大体可以分为 关系型数据库 非关系型数据库
关系型数据库(RDBMS):
       是指采用了关系模型来组织数据的数据库。 简单来说,关系模型指的就是二维表格模型,而一个 关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
基于标准的SQL,只是内部一些实现有区别。常用的关系型数据库如:
1. Oracle:甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERPOA等企业信息系
统。收费。
2. MySQL:属于甲骨文,不适合做复杂的业务。开源免费。
3. SQL Server:微软的产品,安装部署在windows server上,适用于中大型项目。收费。
非关系型数据库: 
(了解)不规定基于SQL实现。现在更多是指NoSQL数据库,如:
1. 基于键值对(Key-Value):如 memcachedredis
2. 基于文档型:如 mongodb
3. 基于列族:如 hbase
4. 基于图型:如 neo4j
关系型数据库与非关系型数据库的 区别:
                                    关系型数据库                 非关系型数据库
使用SQL                             是                     不强制要求,一般不基于SQL实现
事务支持                           支持                                  不支持
复杂操作                           支持                                  不支持
海量读写操作                  效率低                                效率高
基本结构                基于表和列,结构固定           灵活性比较高
使用场景              业务方面的OLTP系统          用于数据的缓存、或基于统计分析的OLAP系统
注:OLTP(On-Line Transaction Processing)是指联机事务处理,OLAP(On-Line Analytical
Processing)是指联机分析处理。


3.SQL分类


DDL数据定义语言,用来维护存储数据的结构 (创建数据库和表字段) 
代表指令: create, drop, alter;
DML数据操纵语言,用来对数据进行操作(数据库的维护和查询)
代表指令: insert,delete,update
DML中又单独分了一个DQL,数据查询语言,代表指令: select;
DCL数据控制语言,主要负责权限管理和事务
代表指令: grant,revoke,commit.

4.数据库操作

DDL:

1.查询服务器上的所有数据库:show databases;

 2.创建数据库(创建项目):

CREATE DATABASE [IF NOT EXISTS] (非必须命令,如果不存在的情况下)db_name(数据库名) [create_specification [, create_specification] ...]
create_specification:
[DEFAULT] CHARACTER (编码格式)SET charset_name
[DEFAULT] COLLATE collation_name
注意:MySQL的命名规则是所有的数据库名称和表名以及字段名,必须要求全部小写。多个字母之间使用下划线“_”分隔。(大小写敏感linux)

3.使用数据库(切换数据库):use 数据库名

4.删除数据库:DROP DATABASE [IF EXISTS] db_name;

 MySQL数据库类型:

数值类型:

数据类型              大小                                     说明                                               对应java类型
BIT[ (M) ]    M指定位数,默认为1     二进制数,M范围从164,        常用Boolean对应BIT,此时
                                                           存储数值范围从02^M-1          默认是1位,即只能存01
TINYINT            1字节                                                                                                   Byte
SMALLINT         2字节                                                                                                  Short
INT                     4字节                                                                                                 Integer
BIGINT               8字节                                                                                                  Long
FLOAT(M, D)      4字节                      单精度,M指定长度,D指定
                                                            小数位数。会发生精度丢失                               Float
DOUBLE(M, D)   8字节                                                                                                Double
DECIMAL(M, D)  M/D最大值+2         双精度,M指定长度,D表示                                                                                                              小数点位数。精确数值                                   BigDecimal
NUMERIC(M, D)  M/D最大 值+2             和DECIMAL一样                                        BigDecimal
扩展知识:
数值类型可以指定为无符号(unsigned),表示不取负数。
1字节(bytes)= 8bit
对于整型类型的范围:
1. 有符号范围:-2^(类型字节数*8-1)到2^(类型字节数*8-1)-1,如int4字节,就
-2^312^31-1
2. 无符号范围:02^(类型字节数*8)-1,如int就是2^32-1
尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其
如此,还不如设计时,将int类型提升为bigint类型。

字符串类型:

数据类型

            大小

         

        说明

对应java类型对应C类型
VARCHAR (SIZE)
0-65,535字节
可变长度字符串
Stringchar[]
TEXT
0-65,535字节
长文本数据Stringchar[]
MEDIUMTEXT
0-16777215字节
中等长度文本数据
Stringchar[]
BLOB
0-65,535字节
二进制形式的长文本数据byte[]char[]
LONGTEXT0-4294967295字节极大文本数据Stringchar[]

日期类型:

数据类型大小     说明对应Java类型
DATETIME
8字节范围从1000到9999年,不会进行时区检索及转换

java.util.Date

java.sql.Timestamp

TIMESTAMP
4字节
范围从19702038年,自动检索当前时
区并进行转换。

java.util.Date
java.sql.Timestamp 

表的操作用法

1.创建表的语法:           

CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
);
可以使用comment增加字段说明。

2. 查询所有的表名:

show tables;

3. 查询表结构:

desc table_name;

key:表示索引;Default:表示默认值; 

查询表的所有信息:

方式一:show create table 表名;

 方法二:show full columns from 表名;

4.删除表

语法格式:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... 
-- 删除 stu_test
drop table stu_test;
-- 如果存在 stu_test 表,则删除 stu_test
drop table if exists stu_test

 删除多张表

语法:drop table 表一,表二;

5.修改表结构 

添加字段

语法:alter table 表名 add column 列名 列类型 [comment 备注信息];

删除字段

语法: alter table 表名 drop column 列名;(删除列的时候,这一列所对应的所有数据也全部删除)

修改字段

语法:alter table 表名 change 原字段名 新字段名 类型 [约束];   (修改字段不会对此字段的原有数据造成任何影响)

 

 修改表名

语法:alter table 旧表名 rename 新表名;

修改表的编码格式

语法:alter table table_name convert to character set utf8mb4;

注意:一张表里面不能出现两个相同字段名,一个数据库里面不能创建两个相同名称的表。



推荐阅读
  • NoSQL数据库,即非关系型数据库,有时也被称作Not Only SQL,是一种区别于传统关系型数据库的管理系统。这类数据库设计用于处理大规模、高并发的数据存储与查询需求,特别适用于需要快速读写大量非结构化或半结构化数据的应用场景。NoSQL数据库通过牺牲部分一致性来换取更高的可扩展性和性能,支持分布式部署,能够有效应对互联网时代的海量数据挑战。 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 黄聪:MySQL主从复制配置,实现高效读写分离
    大型网站为应对高并发访问,不仅需要在前端实现分布式负载均衡,还需在数据业务和访问层采取有效措施。采用传统的数据结构已无法满足需求,通过配置MySQL主从复制,可实现高效的读写分离,显著提升系统性能和稳定性。 ... [详细]
  • Redis支持哪几种数据类型?支持多种类型的数据结构1.string:最基本的数据类型,二进制安全的字符串,最大512M。2 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 解决Parallels Desktop错误15265的方法
    本文详细介绍了在使用Parallels Desktop时遇到错误15265的多种解决方案,包括检查网络连接、关闭代理服务器和修改主机文件等步骤。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • MySQL的查询执行流程涉及多个关键组件,包括连接器、查询缓存、分析器和优化器。在服务层,连接器负责建立与客户端的连接,查询缓存用于存储和检索常用查询结果,以提高性能。分析器则解析SQL语句,生成语法树,而优化器负责选择最优的查询执行计划。这一流程确保了MySQL能够高效地处理各种复杂的查询请求。 ... [详细]
  • PHP 各版本对比:标准版与最新顶级版的详细分析 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 利用Telnet进行Memcached操作详解
    在使用Telnet对Memcached进行操作前,需确保Memcached服务已启动。可通过命令如 `ps -ef | grep memcached` 或 `netstat -l | grep memcache` 来检查服务状态。此外,建议验证端口监听情况以确保连接无误。 ... [详细]
  • DockerFile部署lnmp+memcached+redis+mongodb开发环境for PHP(三)
    本文源链接地址:https:www.93bok.com1、下载基础镜像centos2、查看一下大小 ... [详细]
  • MySQL 数据库索引技术原理初探
    概述什么是索引一本书500页的书,如果没有目录,直接去找某个知识点,可能需要找一会儿,但是借助前面的目录,就可以快速找到对应知识点在书的哪一页。这里的目录就是索引。所以,为什么会有 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
author-avatar
xin丶儿_462
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有