IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MYSQL第一篇(基础知识) -> 正文阅读

[大数据]MYSQL第一篇(基础知识)

前言,以下学习数据库基本操作都是在Navicat可视化工具中进行的,相比传统的控制台,效果更好,另外本文是基于《MYSQL从入门到精通》这本书进行学习的,以下是学习记录。

一、数据库操作

1.1、认识数据库

数据库系统由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)和软件平台(软件)5部分构成的运行实体。

数据库常用对象:


  1. 表是包含数据库中所有数据的数据库对象,由行和列组成,用于组织和存储数据。
  2. 字段
    表中每列称为一个字段,字段具有自己的属性,如字段类型、字段大小等。其中,字段类型是字段中最重要的属性,它决定了字段能够存储哪些数据。(字符型、文本型、数值型、逻辑型、日期时间型)
  3. 索引
    索引的目的是为了快速的找到所需的数据。
  4. 视图
    视图是从一张或多张表中导出的表(也叫虚拟表),是用户查看数据表中数据的一种方式。
  5. 存储过程
    是一组为了完成特定功能的SQL语句集合(包含查询、插入、删除和更新等操作)

1.2、创建数据库

一般来说数据库的命令是用大写的。
1.2.1 通过create database语句创建一个名为db_admin的数据库

create database db_admin;   

在这里插入图片描述
1.2.2 在创建数据库的同时指定字符集为GBK,这一作用是为了方便输入中文

CREATE DATABASE db_test CHARACTER SET = GBK;

在这里插入图片描述
1.2.3 创建数据库前判断是否存在同名数据库
如果创建一个已存在的数据库,那么会报错。
在这里插入图片描述
使用IF NOT EXISTS选项来实现在创建数据库前判断数据库名称是否存在,只有不存在才会创建。

CREATE DATABASE IF NOT EXISTS db_admin;

1.3、查看数据库

使用show命令可以查看MYSQL服务器中所有的数据库信息

SHOW DATABASES;

在这里插入图片描述

1.4、选择数据库

USE语句可以实现选择一个数据库,使其成为当前数据库。只有使用USE语句指定某个数据库为当前数据库后,才能对其中的数据对象进行操作

USE db_admin;

1.5、修改数据库

创建了一个数据库之后,还可以对其进行修改,这里的修改指的是修改被创建的数据库的相关参数,不能修改其名字。

修改db_admin数据库的字符集为GBK,修改字符集的校对规则为简体中文

ALTER DATABASE db_admin
DEFAULT CHARACTER SET gbk
DEFAULT COLLATE gbk_chinese_ci;

1.6、删除数据库

使用DROP DATABASE删除现有的数据库,注意一旦删除了,该数据库的表,以及表中的数据都会被永久删除。

DROP DATABASE db_admin;

二、操作数据表

2.1、创建数据表

创建数据表使用CREATE TABLE语句。语法如下:
具体的参数说明在这就不给出了。

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 数据表名
[(create_definition,...)] [table_options] [select_statement]

例2.1 使用CREATE TABLE语句在MYSQL数据库db_admin中创建一个名为tb_admin的数据表,该表包括id、user、password和createtime等字段,具体代码如下:
CREATE TABLE 数据表名(列名1 属性,列名2 属性…)

USE db_admin;
CREATE TABLE tb_admin(
id int auto_increment primary key,
user VARCHAR(30) NOT NULL,
password VARCHAR(30) NOT NULL,
createtime datetime);

在这里插入图片描述

2.2、查看表结构

对于一个创建成功的数据表,可以使用SHOW COLUMNS语句或者DESCRIBE语句查看指定数据表的表结构。 (COLUMNS是列的意思)
2.2.1 使用SHOW COLUMNS语句查看
基本语法格式:

SHOW [FULL] COLUMNS FROM 数据表名 [FROM 数据库名]  或
SHOW [FULL] COLUMNS FROM 数据表名.数据库名; 

下图是使用 SHOW COLUMNS FROM tb_admin FROM db_admin;命令的演示结果

在这里插入图片描述
下图是使用 DESC tb_admin user;命令的演示结果
在这里插入图片描述

2.3、修改表结构

修改表结构使用ALERT TABLE语句。 (增加或删除字段、修改字段名称或字段类型、设置取消主键外键、设置取消索引以及修改表的注释等操作)

2.3.1 添加新字段及修改字段定义
ti俺家一个新的字段email,类型为varchar(50),NOT NULL,将字段user的类型由varchar(30)改为varchar(40)
例2.3.1:

补充: varchar是一种比char更加灵活的数据类型,同样用于表示字符数据,只要长度小于该最大值的字符串都可以被保存在该数据类型中。

(1) 选择数据库db_admin,具体代码如下:

USE db_admin;

(2)编写SQL语句,实现向数据表tb_admin中添加一个新字段,并且修改字段user的类型,具体代码如下:

ALTER TABLE tb_admin ADD email VARCHAR(50) NOT NULL,
MODIFY user VARCHAR(40);

(3)通过DESC命令查看tb_user的表结构,以查看表结构是否被修改,具体代码如下:

DESC tb_admin;

可以发现,user的数据类型已经被修改了
在这里插入图片描述
2.3.2 修改字段名
在MYSQL的ALTER TABLE语句中,使用CHANGE [COLUMN] old_col_name create_definition子句可以修改字段名或者字段类型。

例2.3.2: 将数据表tb_admin的字段名user修改为username,具体代码如下:

ALTER TABLE db_admin.tb_admin
CHANGE COLUMN user username VARCHAR(30) NULL DEFAULT NULL;
//使用DESC tb_admin;可再次查看表中的结构是否被修改了

2.3.3 删除字段
在MYSQL的ALTER TABLE语句中,使用DROP [COLUMN] col_name子句可以删除指定字段。
例2.3.3: 实现将数据表tb_admin中的字段email删除,具体代码如下:

ALTER TABLE tb_admin DROP email;

2.3.4 修改表名
在MYSQL的ALTER TABLE语句中,使用RENAME [AS] new_tbl_name子句可以删除指定字段。
例2.3.3: 实现将数据表db_admin中的tb_admin数据表改名为tbnew_admin,具体代码如下:

ALTER TABLE tb_admin RENAME AS tbnew_admin;

2.4、重命名表

重命名数据表可以使用RENAME TABLE语句来实现,基本语法格式如下:

RENAME TABLE 数据表名1 TO 数据表名2
//该语句可以同时对多个数据表进行重命名,多个表之间以逗号  ,  分隔

虽然2.3.4中也提到了修改表名的方法,但是这个功能更强大。
例2.4: 对数据表tbnew_admin重命名为tb_user.

RENAME TABLE tbnew_admin TO tb_user;
DESC tb_user;

2.5、复制表

在一张已经存在的数据表的基础上创建一份该表的备份,也就是复制表。这种用法的语法格式如下:

CREATE TABLE [IF NOT EXISTS] 数据表名
	{LIKE 源数据表名 | (LIKE 源数据表名)}
//参数说明
(1)  [IF NOT EXISTS]:  可选项,如果使用该子句,表示当要创建的数据表名不存在时,才会创建。如果不使用该子句,当要创建的数据表名存在时,将出现错误。
(2)  数据表名:  表示新创建的数据表的名字
(3)  {LIKE 源数据表名 | (LIKE 源数据表名)}: 必选项,用于指定依照哪个数据表来创建新表。中间那个  | 表示或,用前者或后者都行

例2.5: 在数据库db_admin中创建一份数据表 tb_user的备份tb_userNew。具体代码如下:

在这之前,先让我们在 数据表tb_user中插入一条数据,这样做的目的是为了观察复制命令。
在这里插入图片描述
一开始是没数据的,让我们现在插一条数据进去。

//使用INSERT ... VALUES语句实现向数据表tb_user中插入一条完整的数据
INSERT INTO tb_user VALUES(1,'root','123456','2022-05-28 20:52');  

//查看数据表tb_user中的数据
SELECT * FROM tb_user;

在这里插入图片描述
好,现在让我们复制一张tb_user数据表,让新表的名字为tb_userNew

USE db_admin;
CREATE TABLE tb_userNew
	LIKE tb_user;

SELECT * FROM tb_userNew;   //查看数据表tb_userNew中的数据

会发现表中的字段什么的都和tb_user是一样的,但是表里面的内容并没有被复制进来。
在这里插入图片描述

如果想要连同表中的数据一起被复制进来,那么需要使用如下代码来实现:

CREATE TABLE tb_userNew2
	AS SELECT * FROM tb_user;
	
SELECT * FROM tb_userNew2;   //查看数据表tb_userNew2中的数据

在这里插入图片描述

2.6、删除表

删除数据表的操作很简单,同删除数据库的操作类似,使用DROP TABLE 语句即可实现。

DROP TABLE [IF EXISTS] 数据表名;

参数1:[IF EXISTS]  可选项
参数2: 数据表名   用于指定要删除的表

例2.6: 删除上一节复制生成的tb_userNew2数据表,操作如下:
选中数据表所在的数据库db_admin,然后执行删除命令

USE db_admin;
DROP TABLE tb_userNew2;

基础知识的部分就已经结束了,为了避免文章过于冗长,核心技术将在第二篇写到。

喜欢的小伙伴可以点赞收藏关注走一波,您的鼓励就是对我最大的支持,谢谢!

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-06-06 17:25:11  更:2022-06-06 17:27:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 21:04:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码