全网最全MySQL数据库基础1

编程知识 行业动态 更新时间:2024-06-13 00:18:57

目录

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 :甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如 ERP OA 等企业信息系 统。收费。 2. MySQL :属于甲骨文,不适合做复杂的业务。开源免费。 3. SQL Server :微软的产品,安装部署在 windows server 上,适用于中大型项目。收费。 非关系型数据库:  (了解)不规定基于 SQL 实现。现在更多是指 NoSQL 数据库,如: 1. 基于键值对( Key-Value ):如 memcached redis 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 范围从 1 64,        常用Boolean 对应 BIT ,此时                                                            存储数值范围从0 2^M-1          默认是1 位,即只能存 0 1 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 ,如 int 4 字节,就 -2^31 2^31-1 2. 无符号范围: 0 2^ (类型字节数 *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字节 范围从 1970 2038 年,自动检索当前时 区并进行转换。

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;

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

更多推荐

全网最全MySQL数据库基础1

本文发布于:2023-03-27 13:32:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/eb4afbf08b350ead1573414b55bf69ef.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:最全   数据库   基础   MySQL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!