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

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

相关推荐
奶糖趣多多4 分钟前
Redis知识点
数据库·redis·缓存
CoderIsArt1 小时前
Redis的三种模式:主从模式,哨兵与集群模式
数据库·redis·缓存
师太,答应老衲吧3 小时前
SQL实战训练之,力扣:2020. 无流量的帐户数(递归)
数据库·sql·leetcode
Yaml44 小时前
Spring Boot 与 Vue 共筑二手书籍交易卓越平台
java·spring boot·后端·mysql·spring·vue·二手书籍
Channing Lewis4 小时前
salesforce case可以新建一个roll up 字段,统计出这个case下的email数量吗
数据库·salesforce
追风林4 小时前
mac 本地docker-mysql主从复制部署
mysql·macos·docker
毕业设计制作和分享5 小时前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis
ketil275 小时前
Redis - String 字符串
数据库·redis·缓存
Hsu_kk6 小时前
MySQL 批量删除海量数据的几种方法
数据库·mysql
编程学无止境6 小时前
第02章 MySQL环境搭建
数据库·mysql