SQL简介
SQL是Structured Query Language的缩写,也就是结构化查询语言,SQL是一门标准的计算机语言,用于访问和操作数据库,其主要功能包括数据定义、数据操纵、数据查询和数据控制。
SQL能做的:
- SQL可以创建和管理数据库、数据表、存储过程、视图等
- SQL可以向数据库中插入新的记录,并可以进行修改、删除
- SQL可以查询数据库中的记录
- SQL可以对数据库进行事务控制和权限管理
SQL语言的分类
按照功能用途,可以将SQL语言分为4类:DDL、DML、DQL和DCL。
- DDL(数据定义语言):用于数据库、表、视图等的建立、删除。包括CREATE、ALTER、DROP等。
- DML(数据操纵语言):用于添加、删除和修改数据表中的记录。包括INSERT、DELETE和UPDATE。
- DQL(数据查询语言):用于查询数据库。使用SELECT查询数据库中的记录。
- DCL(数据控制语言):用于数据库对象的权限管理和事务管理。包括COMMIT、ROLLBACK、GRANT等。
DDL之数据库
创建数据库
CREATE DATABASE 数据库名;
删除数据库
DROP DATABASE 数据库名;
查询所有的数据库
SHOW DATABASE;
查看并选择数据库
- 查看当前所在的数据库
SELECT DATABASE();
显示NULL则需要进入具体选定的数据库 - 进入选定的数据库
USE 数据库名;
查看MySQL支持的存储引擎
SHOW ENGINES;
以博主8.0.23.0的MySQL数据库为例,支持的存储引擎如下图所示。
MySQL数据类型
MySQL支持多种数据类型,可以大致分为3类:数值、日期/时间和字符串(字符)类型。
DDL之数据表
在DDL中,对数据表的操作主要有3中:创建、修改和删除。
创建数据表,需要定义的信息主要包括:表名、字段名、字段类型。
MySQL的建表语法
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 表名 [(create_definition,...)] [table_options] [select_statement];
说明:
- TEMPORARY:表示创建临时表,在当前会话结束后将自动消失
- IF NOT EXISTS:在建表前,先判断表是否存在,只有该表不存在时才创建
- create_definition:建表语句的关键部分,用于定义表中各列的属性
- table_options:表的配置选项,例如表的默认存储引擎、字符集
- select_statement:通过select语句建表
MySQL的操作语法
对于已经存在的表,可以使用alter命令添加、修改、删除字段,也可以对表进行删除操作。
- 添加字段,类型为VARCHAR(1)
ALTER TABLE 表名 ADD 字段名 VARCHAR(1);
- 修改字段的类型为tinyint
ALTER TABLE 表名 MODIFY 字段名 tinyint;
- 删除字段
ALTER TABLE 表名 DROP COLUMN 字段名;
- 删除表
DROP TABLE 表名;
例子
- 连接数据库并创建student数据库
CREATE DATABASE student;
效果图:
- 选择进入student数据库
USE student;
效果图:
- 创建contacts数据表
CREATE TABLE contacts(
id INT PRIMARY KEY,
name VARCHAR(30),
phone VARCHAR(11)
);
效果图:
- 查看当前数据库已有的表
SHOW TABLES;
效果图:
- 查看表的结构
DESC contacts;
效果图:
- 增加sex字段
ALTER TABLE contacts ADD sex CHAR(1);
效果图:
- 再次查看表的结构
DESC contacts;
效果图:
- 修改sex字段的数据类型
ALTER TABLE contacts MODIFY sex INT;
效果图:
- 删除sex字段
ALTER TABLE contacts DROP COLUMN sex;
效果图:
- 删除contacts表
DROP TABLE contacts;
效果图:
注:本文是博主MySQL学习的总结,不支持任何商用,转载请注明出处!如果你也对MySQL学习有一定的兴趣和理解,欢迎随时找博主交流~