热门标签 | 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;

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



推荐阅读
  • 上图是InnoDB存储引擎的结构。1、缓冲池InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。因此可以看作是基于磁盘的数据库系统。在数据库系统中,由于CPU速度 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • mongoDB高可用集群环境搭建
    2019独角兽企业重金招聘Python工程师标准在生产环境下,部署一台mongodb服务的话,会存在以下问题:单点问题生产环境是一个 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了Mongodb副本集+分片集群搭建相关的知识,希望对你有一定的参考价值。环境需求: ... [详细]
  • 数据库基本介绍
    1、数据库基本知识概念:数据库:database(DB),是一种存储数据的仓库数据库是根据数据结构组织、存储和 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • 本文主要复习了数据库的一些知识点,包括环境变量设置、表之间的引用关系等。同时介绍了一些常用的数据库命令及其使用方法,如创建数据库、查看已存在的数据库、切换数据库、创建表等操作。通过本文的学习,可以加深对数据库的理解和应用能力。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Python操作MySQL(pymysql模块)详解及示例代码
    本文介绍了使用Python操作MySQL数据库的方法,详细讲解了pymysql模块的安装和连接MySQL数据库的步骤,并提供了示例代码。内容涵盖了创建表、插入数据、查询数据等操作,帮助读者快速掌握Python操作MySQL的技巧。 ... [详细]
  • Intellij IDEA中详细图解连接MySQL腾讯云数据库以及基础操作
    虽然小编记录的是在IDEA中连接mysql腾讯云数据库。当然,如果读者使用的是本地数据库,也是一样的操作,只是数据库的url书写有所不同。 ... [详细]
  • nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 一、前言在数据库中,慢查询日志通常是用来进行优化数据库,MySQL中存在慢查询,Mongodb中也是如此。在Mongo中的慢查询属于Mon ... [详细]
  • 前面刚有AWS开战MongoDB,双方“隔空互呛”,这厢又曝出2亿+简历信息泄露——MongoDB的这场开年似乎“充实”得过分了些。长期以来,作为“最受欢迎的NoSQL数据库”,M ... [详细]
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社区 版权所有