【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 表名;

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

相关推荐
jiunian_cn3 分钟前
【Linux】Linux权限
linux·服务器·mysql
betazhou25 分钟前
有没有 MariaDB 5.5.56 对应 MySQL CONNECTION_CONTROL 插件
linux·数据库·mysql·oracle·mariadb
Elohim81531 分钟前
数据库SQLite基础
数据库·sqlite
TDengine (老段)42 分钟前
TDengine 支持的平台汇总
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
异常君43 分钟前
MySQL 中 count(*)、count(1)、count(字段)性能对比:一次彻底搞清楚
java·mysql·面试
烟雨书信1 小时前
Linux中MySQL的逻辑备份与恢复
linux·运维·mysql
大熊猫侯佩1 小时前
由一个 SwiftData “诡异”运行时崩溃而引发的钩深索隐(四)
数据库·swiftui·apple watch
想用offer打牌2 小时前
面试官问:Redis和MySQL数据一致,为什么还需要MySQL?🤠
数据库·redis·mysql
chen.@-@2 小时前
后端下载限速(redis记录实时并发,bucket4j动态限速)
数据库·redis·缓存
王小小鸭2 小时前
【Oracle APEX开发小技巧12】
数据库·oracle