【MySQL】数据库基础

文章目录


1、什么是数据库

数据库是一类软件,是对数据进行高效的组织,数据库是基于数据结构实现出来的软件,内部会用到很多数据结构的东西
数据库大概可以分为两类:
关系型数据库: MySQL,Oracle,SQLServer,SQLite...
非关系型数据库: Redis,MongoDB,HBase...
注意: 上述所说的都是软件,以下所讲的都是SQL这门编程语言,去操作MySQL数据库

2、数据库的操作

数据库的写法不分大小写

2.1显示当前数据库

MySQL自带了很多系统库,我们使用show databases;就能看到当前所有的数据库

sql 复制代码
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| java_code          |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.01 sec)

上述除了java_code是创建的,其余都是MySQL自带的系统库

2.2创建数据库

sql 复制代码
create database 数据库;

创建一个名叫dome的数据库

sql 复制代码
mysql> create database dome;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| dome               |
| java_code          |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
6 rows in set (0.00 sec)

我们也可以指定字符集创建数据库

sql 复制代码
create database 数据库 charset 字符集;

注意:数据库的名字不能是SQL的关键字

2.3选中数据库

sql 复制代码
use 数据库名

一个 MySQL 服务器上,数据库是可以有多个的,在对数据库进行操作的时候我们就要先选中对哪个库进行操作

2.4删除数据库

sql 复制代码
drop database 数据库名;

注意:删除数据库是一个非常危险的操作

3、常用数据类型

3.1数值类型

分整型和浮点型

3.2字符串类型

3.3日期类型

上述类型虽然多但是我们主要掌握四个类型即可:
表示整数:int
表示小数:double
表示字符串:varchar
表示时间日期:datetime

其余类型简单了解

4、表的操作

在进行以下操作时,要选中数据库,后续我们都针对dome这个数据库进行操作

4.1创建表

sql 复制代码
create table 表名(列名 类型,列名 类型...);

注意:我们定义字段是字段名在前 字段类型在后,中间用空格隔开,每列中间用逗号隔开

举例如下:

sql 复制代码
mysql> create table student(id int, name varchar(20));
Query OK, 0 rows affected (0.02 sec)

同一个表中是不能存在两张名字相同的表,而且表名和列名不能和SQL关键字相同,如果表名和列名与关键字相同就要使用反引号引起来

4.2显示表

sql 复制代码
mysql> show tables;
+----------------+
| Tables_in_dome |
+----------------+
| student        |
+----------------+
1 row in set (0.00 sec)

通过以上代码就可以查看到该数据库中的所有表

4.3查看表的结构

sql 复制代码
desc 表名;

举例如下:

sql 复制代码
mysql> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

上述Field表示字段也可以叫做列

Type表示类型(11)表示在控制台中显示这一列的数值的时候,最多占11个字符这样的位置

(20),这里面的20并不是表示20个字节,而是表示20个字符,具体大小取决于你数据库设定的字符集,要知道不同的字符集设定的每个字符大小可是不一样的

其余几个我们会在后续慢慢讲解

4.4删除表

sql 复制代码
drop table 表名;

注意:删除表和删除库一样都是危险的操作

相关推荐
一休哥助手16 分钟前
时序数据库选型指南:从核心考量到四大主流数据库深度解析
数据库·时序数据库
Mr__Miss1 小时前
说下Mysql的MVCC机制
数据库·mysql
老徐电商数据笔记2 小时前
BI工具与数据分析平台:数据价值呈现的最后一公里
数据库·数据挖掘·数据分析·bi·bi选型思考
码农水水2 小时前
米哈游Java面试被问:机器学习模型的在线服务和A/B测试
java·开发语言·数据库·spring boot·后端·机器学习·word
酉鬼女又兒3 小时前
SQL24 统计每个用户的平均刷题数
数据库·sql·mysql
雷工笔记4 小时前
数据库|SQLServer2025安装教程
数据库·sqlserver
一只自律的鸡4 小时前
【MySQL】第六章 子查询
数据库·mysql
Knight_AL4 小时前
Spring Boot 事件机制详解:原理 + Demo
java·数据库·spring boot
野人李小白5 小时前
DBeaver 界面友好,支持多种数据库,具备强大的 SQL 编辑、可视化查询、数据迁移及插件扩展功能,是开发者首选的数据库管理工具。
数据库·sql
山峰哥5 小时前
SQL索引优化实战:3000字深度解析查询提速密码
大数据·数据库·sql·编辑器·深度优先