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

简介: (精度指数的所有位数;标度指小数点后数的位数)字符串类型

一、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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
11月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1691 152
|
11月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
1125 156
|
11月前
|
SQL 监控 关系型数据库
SQL优化技巧:让MySQL查询快人一步
本文深入解析了MySQL查询优化的核心技巧,涵盖索引设计、查询重写、分页优化、批量操作、数据类型优化及性能监控等方面,帮助开发者显著提升数据库性能,解决慢查询问题,适用于高并发与大数据场景。
|
11月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
11月前
|
SQL 监控 关系型数据库
查寻MySQL或SQL Server的连接数,并配置超时时间和最大连接量
以上步骤提供了直观、实用且易于理解且执行的指导方针来监管和优化数据库服务器配置。务必记得,在做任何重要变更前备份相关配置文件,并确保理解每个参数对系统性能可能产生影响后再做出调节。
934 11
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
1028 13
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
729 9
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
424 6
|
SQL Oracle 关系型数据库
MySQL、SQL Server和Oracle数据库安装部署教程
数据库的安装部署教程因不同的数据库管理系统(DBMS)而异,以下将以MySQL、SQL Server和Oracle为例,分别概述其安装部署的基本步骤。请注意,由于软件版本和操作系统的不同,具体步骤可能会有所变化。
1536 3

推荐镜像

更多