> 文章列表 > 【SQL 初阶教程】一文轻松玩转 SQL

【SQL 初阶教程】一文轻松玩转 SQL

【SQL 初阶教程】一文轻松玩转 SQL

目录

一、SQL 通用语法

二、SQL 语句的分类

三、DDL语句

DDL——数据库操作

查询所有数据库 语句: SHOW DATABASES;(大小写均可,建议大写)

创建数据库HSK 语句:CREATE DATABASE HSK;

删除数据库HSK 语句 :DROP DATABASE HSK;

使用数据库 HSKK 语句:USE HSKK;

DDL——表操作

表查询语句

表创建语句

表操作数据类型

综合案例:

表操作修改

一、SQL 通用语法

二、SQL 语句的分类

分为四类语句,下面 弄详细来看

DDL:定义表头字段等信息,用以操作表

DML :对数据进行操作的语句,对表中的数据增删查改

DQL:用以查询数据库中的表的数据

DCL:用来创建用户以及用户的权限

三、DDL语句

DDL——数据库操作

查询所有数据库 语句: SHOW DATABASES;(大小写均可,建议大写)

可见:MySQL 默认自带四个数据库

创建数据库HSK 语句:CREATE DATABASE HSK;

出现Query OK 即为创建成功,但是当再次创建已存在的数据库时会报错

可以输入命令:

CREATE DATABASE IF NOT EXISTS HSK;    //已存在就不创建,不会报错

如果想指定字符集可以输入以下命令:

CREATE DATABASE IF NOT EXISTS HSKK DEFAULT CHARSET utf8mb4; 

为什么使用 utf8mb4 字符集呢?

因为 utf8 是三个字节,但是有些特殊字符是 4 个字节,而 utf8mb4 支持 4 个字节

 至此,我们已经创建了两个数据库,将所有数据库显示出来

删除数据库HSK 语句 :DROP DATABASE HSK;

如图,如果删除不存在的数据库,同样会报错,可以使用一下命令解决:

DROP DATABASE IF EXISTS HSK;

使用数据库 HSKK 语句:USE HSKK;

注意:不要加 database;

显示 Database changed,即为使用该数据库成功

如果想要查询现在正在使用哪个数据库,可以使用命令行:

SELECT DATABASE();     //记得加括号

DDL——表操作

表查询语句

前提是:进入到了某个数据库,即使用语句 use 数据库名;

演示—显示默认自带系统库sys中所有的表

输入语句:SHOW TABLES;      //前提是进入到该数据库

等到学习完创建表的知识后再来演示下面两个语句,即查询表结构、查询建表语句

表创建语句

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

返回Query,即为创建成功

可以用查询语句中的 DESC 表名查询

 

也可以使用 SHOW CREATE TABLE 表名查询更详细的信息

ENGINE:存储引擎,后续介绍

DEFAULT CHARSET:默认字符集

COLLATE:默认排序方式

表操作数据类型

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

数值类型:

 备注:

tinyint:非常小的数

smallint:有点小的

mediumint:占用三个字节

DECIMAL:123.45 — 精度为5,标度为2

示例:

年龄:age TINYINT UNSIGNED      //无符号短整型

分数:score float(4,1)   //总长为4,小数点后有 1 位

字符串类型:

BLOB:有关的都是二进制形式的数据,一般为安装包、音视频等,但是如果将此类数据存储在数

数据库中,效率不高且不方便管理,一般将此类数据存储在专门的文本服务器中。所以该类数据的

使用并不是很多。

TEXT:文本文件

示例:char 与 varchar 的区别

char:性能较高,无论是多长都会占用一定的空间,适合 gender (只占用一个字节,定长)

varchar:性能较低,长度不定,适用于用户名,节省空间

日期时间类型:

一般来说:DATA、TIME、DATATIME 使用较多一些

注意:时间戳到 2038 年就过期了,需要注意;

案例:记录生日

birth DATA    //只需要年月日即可

综合案例:

代码如下:

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

执行并查询后结果:

如果我们想要修改 name 的长度,或者添加新的信息,那么就需要学习表头、字段的修改,加油!

表操作修改

添加字段:

 alter table emp add nickname varchar(20) comment '昵称';//添加一个新字段

如图所示:已经添加成功!!!!!!!!!!

修改字段:

一共有两种,修改数据类型和修改字段名和字段类型

案例:

alter table emp change nickname userkk varchar(30) comment '新昵称';

如题:已成功操作

删除字段:

示例:删除 userkk 

alter table emp drop userkk;     //删除字段

 如图已成功删除某字段;

修改表名:

代码:alter table emp rename to kkk;     //修改新表名

此时如果查询原表名会报错,因为已经不存在了;

删除表:

常用第一种:直接删除该表,啥也没了

第二种是删除该表,再新建一个该表,但是数据没有了,字段还有吗? 

原字段依旧存在,只是数据信息没了!!!!!!

截止到:2023年4月14日23:43:22

------------------------------------------------------------分界线------------------------------------------------------------