【MySQL入门到精通-黑马程序员】MySQL基础篇-SQL概述及DDL

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: (精度指数的所有位数;标度指小数点后数的位数)字符串类型

一、SQL

1.1 SQL通用语法

SQL语句可以单行或多行书写,(默认)以分号结尾。

SQL语句可以使用空格/缩进来增强语句的可读性。

MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。

注释:

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

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

1.2 SQL分类

DDL(Data Definition Language):数据定义语言,用来 定义数据库对象(数据库、表、字段)。

DML(Data Manipulation Language):数据操作语言,用来 对数据库表中的数据进行增删改。

DQL(Data Query Language):数据查询语言,用来 查询数据库中表的记录。

DCL(Data Control Language):数据控制语言,用来 创建数据库用户、控制数据库的访问权限。

二、DDL

2.1 DDL-数据库操作

查询

查询所有数据库

SHOW DATABASES;

查询当前(所处的)数据库

SELECT DATABASE();

创建

CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARTSET 字符集] [COLLATE 排序规则];([]中语句可以选择性写入,即可省略)

删除

DROP DATABASE [IF EXISTS] 数据库名;([]中语句可以选择性写入,即可省略)

使用(切换到指定数据库)

USE 数据库名;

2.2 DDL-表操作

2.2.1 DDL-表操作-查询

查询当前数据库所有表

SHOW TABLES;

查询表结构

DESC 表名;

查询指定表的建表语句

SHOW CREATE TABLE 表名;

2.2.2 DDL-表操作-创建

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


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


2.2.3 DDL-表操作-数据类型

数值类型

45c31cb95e00c46e4413db356b70ceae_6c3699a5faf441288495dbe7e7466859.png

(精度指数的所有位数;标度指小数点后数的位数)

字符串类型

02db5c0729b4926aae060f58437d6be8_ee48b373e7f64a68a3376a5ab7fb9a73.png

(char类型无论存储一个或多个字符均按照设定好的大小占用,未填充的字符用空格补位;varchar类型存储几个字符就占用几个字符空间,即需要对内容进行计算存储空间大小。因此,char类型性能高;varchar性能较差。)

日期时间类型

5d7d883a5b90ac355f96824fcc0057e6_466bc44aa90c470d98f5fddb642d20f6.png

案例

225769bf234630e5ea640289afc5b6ce_428e10b0d2db4f838c17a573a1e08fc3.png

SQL语句

create table emp(
        id int comment '编号',
        workno varchar(10) comment '员工工号',
        name varchar(10) comment '员工姓名',
        gender char(2) comment '性别',
        age tinyint unsigned comment '年龄',
        idcard char(18) comment '身份证号',
        entrydate date comment '入职时间'
 ) comment '员工信息表';


(注:一个汉字占用两个字节)

运行结果

d7c4abc4981ffd1baf37604201a2e921_0785cecf45ab4de0a39b1b82d443f30d.png

ae3b122c1c78382ee05b39755a0a32b1_177434e42d624ffc90649461ef7bb747.png

2.2.4 DDL-表操作-修改

添加字段

ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];([]中语句可以选择性写入,即可省略)

修改数据类型

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

修改字段名和字段类型

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];([]中语句可以选择性写入,即可省略)

删除字段

ALTER TABLE 表名 DROP 字段名;

修改表名

ALTER TABLE 表名 RENAME TO 新表名;

2.2.5 DDL-表操作-删除

删除表

DROP TABLE [IF EXISTS] 表名;([]中语句可以选择性写入,即可省略)

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

TRUNCATE TABLE 表名;

三、总结

aebc0058c27744aab4000fae69a332e5_f4a2487ca3ec42aea195ac6fc0deb834.png

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
4天前
|
SQL 存储 关系型数据库
数据库SQL入门指南
数据库SQL入门指南
|
1天前
|
SQL 关系型数据库 MySQL
MySQL中的基本SQL语句
以上列举的是MySQL中的一些基础而重要的SQL语句。它们不仅提供了数据操作的方法,同时也涵盖了数据库、表结构的变更,数据的增删改查,结果的排序和聚合,索引的管理以及用户权限的控制等方面。掌握这些基本的SQL语句对于任何使用MySQL的开发者来说是非常必要的。在实际应用中,由于项目要求和数据复杂性的不同,可能需要将这些基础语句组合起来使用,或者与函数、存储过程和触发器等高级功能一起配合使用,以实现各种复杂的业务逻辑。
11 2
|
6天前
|
SQL 关系型数据库 MySQL
SQL语句编写的练习(MySQL)
这篇文章提供了MySQL数据库中关于学生表、课程表、成绩表和教师表的建表语句、数据插入示例以及一系列SQL查询练习,包括查询、排序、聚合和连接查询等操作。
|
2天前
|
SQL 数据库 索引
SQL语言入门:如何表达你的数据需求
在数据库的世界里,SQL(Structured Query Language)是一种至关重要的语言,它允许用户与数据库进行交互,执行数据的查询、更新、插入和删除等操作
|
8天前
|
SQL 关系型数据库 MySQL
Go语言中进行MySQL预处理和SQL注入防护
在现代Web应用开发中,安全性至关重要。SQL注入是一种常见的攻击方式,攻击者可通过构造特殊SQL查询来非法访问或修改数据库数据。本文介绍如何利用Go语言中的预处理SQL语句来防范此类攻击。预处理不仅能提升安全性,还能提高性能并简化代码。通过使用`?`作为占位符,Go自动处理参数转义,有效避免SQL注入。此外,文章还提供了连接MySQL数据库、执行预处理查询以及最佳实践的示例代码。务必遵循这些指导原则,确保应用程序的安全性。
16 0
|
8天前
|
SQL 存储 Oracle
MySQL 项目中 SQL 脚本更新、升级方式,防止多次重复执行
MySQL 项目中 SQL 脚本更新、升级方式,防止多次重复执行
18 0
|
6天前
|
存储 关系型数据库 MySQL
MySQL——数据库备份上传到阿里云OSS存储
MySQL——数据库备份上传到阿里云OSS存储
23 0
|
1天前
|
SQL 存储 关系型数据库
数据库-MySQL-01(一)
数据库-MySQL-01(一)
13 4
|
6天前
|
缓存 NoSQL Redis
一天五道Java面试题----第九天(简述MySQL中索引类型对数据库的性能的影响--------->缓存雪崩、缓存穿透、缓存击穿)
这篇文章是关于Java面试中可能会遇到的五个问题,包括MySQL索引类型及其对数据库性能的影响、Redis的RDB和AOF持久化机制、Redis的过期键删除策略、Redis的单线程模型为何高效,以及缓存雪崩、缓存穿透和缓存击穿的概念及其解决方案。
|
1天前
|
SQL 存储 关系型数据库
数据库-MySQL-03
数据库-MySQL-03
8 0

热门文章

最新文章