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】SQL的概念 -> 正文阅读

[大数据]【MySQL】SQL的概念

目录

一、基本概念

1.1?什么是 SQL

1.2 SQL作用

1.3 SQL 语句分类

1.4 MySQL 的语法

二 、DDL 操作数据库

2.1?创建数据库

2.1.1?创建数据库的几种方式

2.1.2?具体操作

2.2?查看数据库

2.3?修改数据库

2.3.1?修改数据库默认的字符集

2.3.2?具体操作

2.4?删除数据库

2.4.1?删除数据库的语法

2.4.2?具体操作

2.5?使用数据库

2.5.1?查看正在使用的数据库

2.5.2?使用/切换数据库

2.5.3?具体操作

2.5.4?面试题

三、DDL操作表结构

3.1?创建表

3.1.1?创建表的格式

3.1.2?关键字说明

3.2?MySQL 数据类型

3.2.1?常使用的数据类型如下

3.2.2?详细的数据类型如下

3.2.3?具体操作

3.3?查看表

3.3.1 查看某个数据库中的所有表

3.3.2?查看表结构

3.3.3?查看创建表的 SQL 语句

3.3.4?具体操作:

3.4?快速创建一个表结构相同的表

3.4.1?语法

3.4.2?具体操作

3.5?删除表

3.5.1?直接删除表

3.5.2?判断表是否存在,如果存在则删除表

3.5.3?具体操作

3.6?修改表结构

3.6.1?添加表列 ADD

3.6.2?修改列类型 MODIFY

3.6.3?修改列名 CHANGE

3.6.4?删除列 DROP

3.6.5?修改表名

3.6.6?修改字符集 character set


一、基本概念

1.1?什么是 SQL

Structured Query Language 结构化查询语言

1.2 SQL作用

(1) 是一种所有关系型数据库的查询规范,不同的数据库都支持。

(2) 通用的数据库操作语言,可以用在不同的数据库中。

(3)不同的数据库 SQL 语句有一些区别。

1.3 SQL 语句分类

(1)Data Definition Language (DDL 数据定义语言) 如:建库,建表

(2)Data Manipulation Language(DML 数据操纵语言), 如:对表中的记录操作增删改

(3)Data Query Language(DQL 数据查询语言),如:对表中的查询操作

(4)Data Control Language(DCL 数据控制语言),如:对用户权限的设置

也就是SQL语句主要是围绕上述四种语句。

1.4 MySQL 的语法

(1)每条语句以分号结尾,如果在 SQLyog 中不是必须加的。

(2)SQL 中不区分大小写,关键字中认为大写和小写是一样的

(3)3 种注释

注释的语法说明
--空格单行注释
/* */多行注释
#这是 mysql 特有的注释方式

二 、DDL 操作数据库

2.1?创建数据库

2.1.1?创建数据库的几种方式

  • 创建数据库
CREATE DATABASE 数据库名;
  • 判断数据库是否已经存在,不存在则创建数据库
CREATE DATABASE IF NOT EXISTS 数据库名;
  • 创建数据库并指定字符集
CREATE DATABASE 数据库名 CHARACTER SET 字符集;

2.1.2?具体操作

-- 直接创建数据库 db1
create database db1;


-- 判断是否存在,如果不存在则创建数据库 db2
create database if not exists db2;


-- 创建数据库并指定字符集为 gbk
create database db3 default character set gbk;

2.2?查看数据库

按 tab 键可以自动补全关键字

-- 查看所有的数据库
show databases;


-- 查看某个数据库的定义信息
show create database db3;
show create database db1;

2.3?修改数据库

2.3.1?修改数据库默认的字符集

ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;
alter database 数据库名 default character set 字符集;

2.3.2?具体操作

将 db3 数据库的字符集改成 utf8

alter database db3 character set utf8;

2.4?删除数据库

2.4.1?删除数据库的语法

DROP DATABASE 数据库名;
drop database 数据库名;

2.4.2?具体操作

每行 SQL 语句需要选中再执行,可以按 F9

删除 db2 数据库

drop database db2;

2.5?使用数据库

2.5.1?查看正在使用的数据库

SELECT DATABASE(); 使用的一个 mysql 中的全局函数

2.5.2?使用/切换数据库

USE 数据库名;

2.5.3?具体操作

-- 查看正在使用的数据库
select database();


-- 改变要使用的数据库
use db4;

2.5.4?面试题

在 MySQL 数据库软件中,有如下三个数据库:test1、test2、test3

登录数据库之后,输入语句: select database test2; 运行结果是什么?


这是一条错误的语句,如果要选中一个数据库,应用使用: use test2;
?

三、DDL操作表结构

前提先使用某个数据库

3.1?创建表

3.1.1?创建表的格式

CREATE TABLE 表名 (
字段名 1 字段类型 1,
字段名 2 字段类型 2
);

3.1.2?关键字说明

创建表的关键字说明
CREATE创建
TABLE

3.2?MySQL 数据类型

3.2.1?常使用的数据类型如下

3.2.2?详细的数据类型如下

整数:

类型名称类型说明
tinyInt微整型:很小的整数(占 8 位二进制)
smallint小整型:小的整数(占 16 位二进制)
mediumint中整型:中等长度的整数(占 24 位二进制)
int(integer)整型:整数类型(占 32 位二进制)

小数

float单精度浮点数,占 4 个字节
double双精度浮点数,占 8 个字节

日期

time表示时间类型
datetime同时可以表示日期和时间类型
date表示日期类型

字符串

char(m)固定长度的字符串, 无论使用几个字符都占满全部, M 为 0~255 之间的整
varchar(m)可变长度的字符串, 使用几个字符就占用几个, M 为 0~65535 之间的整数

大二进制

tinyblob
Big Large Object
允许长度 0~255 字节
blob允许长度 0~65535 字节
mediumblob允许长度 0~167772150 字节
longblob允许长度 0~4294967295 字节

大文本

tinytext允许长度 0~255 字节
text允许长度 0~65535 字节
mediumtext允许长度 0~167772150 字节
longtext允许长度 0~4294967295 字节

3.2.3?具体操作

创建 student 表包含 id,name,birthday 字段

create table student (
id int, -- 整数
name varchar(20), -- 字符串
birthday date -- 生日,最后没有逗号
);

3.3?查看表

3.3.1 查看某个数据库中的所有表

SHOW TABLES;

3.3.2?查看表结构

DESC 表名;

3.3.3?查看创建表的 SQL 语句

SHOW CREATE TABLE 表名;

3.3.4?具体操作:

查看 day21 数据库中的所有表

use day21;
show tables;

查看 student 表的结构

desc student;

?查看 student 的创建表 SQL 语句

show create table student;

执行结果

存在的目的是为了避免关键字的冲突

CREATE TABLE `student` (
`id` int(11) DEFAULT NULL,
`name` varchar(20) DEFAULT NULL,
`birthday` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

3.4?快速创建一个表结构相同的表

3.4.1?语法

CREATE TABLE 新表名 LIKE 旧表名;

3.4.2?具体操作

创建 s1 表, s1 表结构和 student 表结构相同

-- 创建一个 s1 的表与 student 结构相同
create table s1 like student;

desc s1;

3.5?删除表

3.5.1?直接删除表

DROP TABLE 表名;

3.5.2?判断表是否存在,如果存在则删除表

DROP TABLE IF EXISTS 表名;

3.5.3?具体操作

-- 直接删除表 s1 表
drop table s1;

-- 判断表是否存在并删除 s1 表
drop table if exists `create`;

与直接删除的区别

如果表不存在,不删除,存在则删除

3.6?修改表结构

3.6.1?添加表列 ADD

ALTER TABLE 表名 ADD 列名 类型;

3.6.2?修改列类型 MODIFY

ALTER TABLE 表名 MODIFY 列名 新的类型;

3.6.3?修改列名 CHANGE

ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;

3.6.4?删除列 DROP

ALTER TABLE 表名 DROP 列名;

3.6.5?修改表名

RENAME TABLE 表名 TO 新表名;

将学生表 student 改名成 student2

rename table student to student2;

3.6.6?修改字符集 character set

ALTER TABLE 表名 character set 字符集;

将 student2 表的编码修改成 gbk

alter table student2 character set gbk;


?

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

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/16 9:02:19-

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