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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 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

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
SQL 关系型数据库 MySQL
TiDB支持的SQL语法概述
【2月更文挑战第28天】本章将对TiDB所支持的SQL语法进行概述,涵盖其主要的语法特性和功能。我们将从基本的SQL语句到更复杂的查询和操作,逐步介绍TiDB的SQL语法,帮助读者更好地理解和使用TiDB进行数据库操作。
|
26天前
|
SQL 关系型数据库 MySQL
mysql一条sql查询出多个统计结果
mysql一条sql查询出多个统计结果
15 0
|
1天前
|
SQL 关系型数据库 MySQL
【MySQL】SQL优化
【MySQL】SQL优化
|
3天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
|
12天前
|
SQL 关系型数据库 数据库
【后端面经】【数据库与MySQL】SQL优化:如何发现SQL中的问题?
【4月更文挑战第12天】数据库优化涉及硬件升级、操作系统调整、服务器/引擎优化和SQL优化。SQL优化目标是减少磁盘IO和内存/CPU消耗。`EXPLAIN`命令用于检查SQL执行计划,关注`type`、`possible_keys`、`key`、`rows`和`filtered`字段。设计索引时考虑外键、频繁出现在`where`、`order by`和关联查询中的列,以及区分度高的列。大数据表改结构需谨慎,可能需要停机、低峰期变更或新建表。面试中应准备SQL优化案例,如覆盖索引、优化`order by`、`count`和索引提示。优化分页查询时避免大偏移量,可利用上一批的最大ID进行限制。
39 3
|
19天前
|
SQL 存储 关系型数据库
【MySQL实战笔记】02.一条SQL更新语句是如何执行的-2
【4月更文挑战第5天】两阶段提交是为确保`redo log`和`binlog`逻辑一致,避免数据不一致。若先写`redo log`, crash后数据可能丢失,导致恢复后状态错误;若先写`binlog`,crash则可能导致重复事务,影响数据库一致性。一天一备相较于一周一备,能缩短“最长恢复时间”,但需权衡额外的存储成本。
16 1
|
26天前
|
SQL 关系型数据库 MySQL
【MySQL】慢SQL分析流程
【4月更文挑战第1天】【MySQL】慢SQL分析流程
|
29天前
|
SQL 关系型数据库 MySQL
【MySQL技术之旅】(7)总结和盘点优化方案系列之常用SQL的优化
【MySQL技术之旅】(7)总结和盘点优化方案系列之常用SQL的优化
42 1
|
30天前
|
SQL 关系型数据库 MySQL
MySQL SQL语句面试准备
MySQL SQL语句面试准备
13 0
|
1月前
|
SQL 关系型数据库 MySQL
[MySQL]SQL优化之sql语句优化
[MySQL]SQL优化之sql语句优化