MySQL数据库——SQL(1)-SQL通用语法、SQL分类、DDL(数据库操作、表操作)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: MySQL数据库——SQL(1)-SQL通用语法、SQL分类、DDL(数据库操作、表操作)

SQL(1)

分为六点内容:

  • SQL通用语法
  • SQL分类
  • DDL
  • DML
  • DQL
  • DCL

SQL通用语法

  1. SQL语句可以单行或多行书写,以分号结尾。
  2. SQL语句可以使用空格/缩进来增强语句的可读性。
  3. MySQL数据库的SQL语句不区分大小写,但关键字建议使用大写。
  4. 注释:


单行注释: --注释内容 或 #注释内容 (MySQL特有)

多行注释: /*注释内容*/

SQL分类 image.png DDL

数据库操作

1.查询所有数据库

SHOW DATABASES;

2.查询当前数据库

SELECT DATABASE();

3.创建

CREATE DATABASE IF NOT EXISTS 数据库名 DEFAULT CHARSET 字符集 COLLATE 排序规则;

解释:

4.删除

DROP DATABASE IF EXISTS 数据库名;

解释:

此处的IF EXISTS与第3点的作用类似。

5.使用

USE 数据库名;

表操作-查询

1.查询当前数据库所有表

SHOW TABLES;

2.查询表结构

DESC 表名;

3.查询指定表的建表语句

SHOW CREATE TABLE 表名;

表操作-创建

CREATE TABLE 表名(
    字段1 字段1类型[COMMENT 字段1注释],
    字段2 字段2类型[COMMENT 字段2注释],
    字段3 字段3类型[COMMENT 字段3注释],
    ......
    字段n 字段n类型[COMMENT 字段n注释]
)[COMMENT 表注释];

注意:[......]为可选参数,最后一个字段后面没有逗号.

我们来尝试一下,创建数据库->使用数据库->建表

->查看表结构->查询表的建表语句。

表操作-数据类型

MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。

数值类型 image.png 注:DECIMAL依赖于M(精度)和D(标度)的值,例如:570.68,其精度为5,标度为2;


使用DOUBLE时也需要标明精度和标准,如分数80.5、100.0,记为:score DOUBLE(4,1).


我们之前写的age实际上用不到INT这样稍微大的空间,而且因为其一定为整数,所以可以改写为:age TINYINT UNSIGNED.

字符串类型

image.png 重点解释一下char(定长字符串)和varchar(变长字符串)的区别:


char在给定字符长度的情况下,只能固定占用一定的空间,


而varchar在给定字符长度的情况下,会对数据进行计算之后再占用空间。


例如:char(10)和varchar(10),二者都存储着4个字节的数据,char占用10个字节,而varchar则只会占用4个字节。


性能上,char比varchar更好,不需要对数据的大小进行计算。

日期类型

image.png

DDL小案例

根据需求创建表(设计合理的数据类型、长度)

设计一张员工信息表,要求如下:

  1. 编号(纯数字)
  2. 员工工号(字符串类型,长度不超过10位)
  3. 员工姓名(字符串,长度不超过10位)
  4. 性别(男/女,存储一个汉字)
  5. 年龄(正常人年龄,不可能存储负数)
  6. 身份证号(二代身份证号均为18位,身份证中有X这样的字符)
  7. 入职时间(取值年月日即可)

代码:

CREATE TABLE emp(
    id INT COMMENT '编号',
    worknumber VARCHAR(10) COMMENT '工号',
    name VARCHAR(10) COMMENT '姓名',
    gender CHAR(1) COMMENT '性别',
    age TINYINT UNSIGNED COMMENT '年龄',
    idcard CHAR(18) COMMENT '身份证号',
    entrydate DATE COMMENT '入职时间'
)COMMENT '员工表';

创建之后查询表格情况(DESC EMP;):

表操作-修改&删除

1.添加字段

ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释];

为emp表增加一个新的字段“昵称”为nickname,类型为varchar(20)

2. 修改数据类型

ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);

3.修改字段名和字段类型

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释];

将emp表的nickname字段修改为username,类型为varchar(30):

4.删除字段

ALTER TABLE 表名 DROP 字段名;

将emp表的字段username删除:

5.修改表名

ALTER TABLE 表名 RENAME TO 新表名;

将emp表的表名修改为employee:

6.删除表&删除并重新创建表

删除表

DROP TABLE [IF EXISTS] 表名;

删除指定表,并重新创建该表

TRUNCATE TABLE 表名;

(后者保留表结构)

注意:在删除表时,表中的全部数据也会被删除。

删除表操作:

删除并重建表操作:

 

DDL总结

数据库操作

SHOW DATABASES;
CREATE DATABASE 数据库名;
USE 数据库名;
SELECT DATABASE();
DROP DATABASE 数据库名;

表操作

SHOW TABLES;
CREATE TABLE 表名(字段 字段类型,字段 字段类型);
DESC 表名;
SHOW CREATE TABLE 表名;
ALTER TABLE 表名 ADD/MODIFY/CHANGE/DROP/RENAME TO ...;
DROP TABLE 表名;

end



相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3天前
|
SQL Oracle 数据库
使用访问指导(SQL Access Advisor)优化数据库业务负载
本文介绍了Oracle的SQL访问指导(SQL Access Advisor)的应用场景及其使用方法。访问指导通过分析给定的工作负载,提供索引、物化视图和分区等方面的优化建议,帮助DBA提升数据库性能。具体步骤包括创建访问指导任务、创建工作负载、连接工作负载至访问指导、设置任务参数、运行访问指导、查看和应用优化建议。访问指导不仅针对单条SQL语句,还能综合考虑多条SQL语句的优化效果,为DBA提供全面的决策支持。
22 11
|
15天前
|
SQL 存储 缓存
MySQL进阶突击系列(02)一条更新SQL执行过程 | 讲透undoLog、redoLog、binLog日志三宝
本文详细介绍了MySQL中update SQL执行过程涉及的undoLog、redoLog和binLog三种日志的作用及其工作原理,包括它们如何确保数据的一致性和完整性,以及在事务提交过程中各自的角色。同时,文章还探讨了这些日志在故障恢复中的重要性,强调了合理配置相关参数对于提高系统稳定性的必要性。
|
14天前
|
SQL 关系型数据库 MySQL
MySQL 高级(进阶) SQL 语句
MySQL 提供了丰富的高级 SQL 语句功能,能够处理复杂的数据查询和管理需求。通过掌握窗口函数、子查询、联合查询、复杂连接操作和事务处理等高级技术,能够大幅提升数据库操作的效率和灵活性。在实际应用中,合理使用这些高级功能,可以更高效地管理和查询数据,满足多样化的业务需求。
48 3
|
17天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
16天前
|
SQL 监控 安全
SQL Servers审核提高数据库安全性
SQL Server审核是一种追踪和审查SQL Server上所有活动的机制,旨在检测潜在威胁和漏洞,监控服务器设置的更改。审核日志记录安全问题和数据泄露的详细信息,帮助管理员追踪数据库中的特定活动,确保数据安全和合规性。SQL Server审核分为服务器级和数据库级,涵盖登录、配置变更和数据操作等事件。审核工具如EventLog Analyzer提供实时监控和即时告警,帮助快速响应安全事件。
|
12天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
81 15
|
6天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。
|
13天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
25天前
|
关系型数据库 MySQL 数据库
GBase 数据库如何像MYSQL一样存放多行数据
GBase 数据库如何像MYSQL一样存放多行数据
|
1月前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
39 1

推荐镜像

更多
下一篇
DataWorks