目录
前言:
本文章就开始介绍SQL语言了,因为老师讲的课以及一些资料,所展现的SQL的语句基本上是大写的,本来SQL记起来还是有点难的,又加上我们不熟悉的大写字母,就又添一难因此,我写的这篇文章全部以小写为主,旨在帮助读者更好的理解以及运用
本文适合预习,复习
在文章最后有总结的思维导图,可以用那个来复习,相信一定会让你眼前一亮
最后也会附上一个SQL练习的网站话不多说,即刻发车~~~
一、SQL介绍
MySQL全称:Structured Query Language(结构化查询语言)。操作关系型数据库的编程语言,定义了 一套操作关系型数据库统一标准
也就是说,不论MySQL还是Oracle只要是关系型数据库用的都是这个SQL统一的语言,里面只有一点点的不同,因此学了MySQL,也可以转到Oracle
注:因为上篇文章介绍了如何安装长久使用的DataGrip,所以下面的代码演示就是在DataGrip,当然如果没有下这个软件,也可以直接用控制台
这两个方法我都有相应的文章,点进链接即可(* ̄︶ ̄)
1.SQL的语法
a.SQL语句可以单行或多行书写,以分号结尾
b.SQL语句可以使用空格 或者 缩进来增强语句的可读性
c. MySQL数据库的SQL语句不区分大小写,关键字建议使用大写(大写也是为了代码的规范性,我们初学者可以先从小写入手,再转向大写)
d.注释: 单行注释:-- 注释内容 或 # 注释内容
多行注释:/* 注释内容 */
2.SQL的分类
SQL根据功能可以分为:DDL、DML、DQL、DCL
后面也是根据这四个功能来展开
分类 | 全称 | |
DDL | Data Definition Language | 数据库定义语言(定义数据库,表,字段) |
DML | Data Manipulation Language | 数据库操作语言(数据库表中数据的增,删,改) |
DQL | Data Query Language | 数据库查询语言(查询表中记录) |
DCL | Data Control Language | 数据库控制语言(控制用户权限) |
二、DDL数据库定义语言
用来定义数据库对象(数据库,表,字段) 其中的字段的意思就是这个表的列
1.对数据库的操作
database 就是数据库的意思
a.查询所有数据库
show databases ;
b.创建数据库
语法:
create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序 规则 ] ;解释如下:
创建 database [如果不存在]数据库名[default charset 字符集]
这里的[ ]里的内容可以省略
因此就有三种情况,明白意思即可:
--第一种
create database luoyi ;
--第二种,加上条件
--如果没有luoyi这个数据库的话,就创建
create database if not exists luoyi ;
--第三种,加上字符集
create database luoyi default charset utf8mb4 ;
--这里的字符集 utf8mb4 是 UTF-8 的扩展,能表示更多字符
c.删除数据库
drop database [ if exists ] 数据库名;
如果存在这个数据库就删除
最好都加上这个判断,因为如果这个数据库不存在的话就会报错
例如数据库中没有luo这个数据库就会报错
drop database if exists luoyi;
d.切换数据库
use 数据库名 ;
在刚刚的这个数据库中,找到要切换的数据库,切换了的数据库就是当前使用的数据库了
use luoyi ;
e.查询当前数据库
select database() ;
注意加上(),这是一个函数调用
就是你切换到了哪个数据库,那么切换的数据库就是当前的数据库
2.对表的操作
2.1表操作 --- 创建查询
a.查询当前数据库所有表名称
show tables ;
使用use切换到的数据库里的所有表名称,例如:
b.创建表结构
create table 表名(
字段1 字段1类型 [ comment 字段1注释 ],
字段2 字段2类型 [ comment 字段2注释 ],
字段3 字段3类型 [ comment 字段3注释 ], ......
字段n 字段n类型 [ comment 字段n注释 ]
) [ comment 表注释 ] ;
这里的类型,等下介绍,这里先有个印象
注意的点:
- 每一条字段后面以逗号结尾,最后一个字段不加逗号
- 最后加上分号
- comment 是注解
这里提到字段,再强调一下,字段就是列,想象一下创建的这些字段都是在列上的,下图就是刚刚创建这个表的结构图
c.查看指定表结构
desc 表名 ;
因为我们已经在一个数据库中了,所以直接写表名即可
表示当前数据库的某张表
d.查询指定表的建表语句
show create table 表名 ;
用于意思是显示创建指定表的 SQL 语句。也就是我刚刚创建的这个表,是用哪些语句写出来的
2.2表操作 --- 修改以及字段
a.添加字段
alter table 表名 add 字段名 类型 (长度) [ comment 注释 ]
alter table student add area varchar(5) comment '地区';
就相当于在student表中添加了area这个字段类型是 可变字符串类型
那么现在的student表中就多出了,area这一列 字段就是列
b.删除字段
alter table 表名 drop 字段名;
alter student drop name ;
--删除了student表中的name字段
--也就是没有了name这一列
c.修改数据类型
alter table 表名 modify 字段名 数据类型(长度);
d.修改字段名和字段类型
alter table 表名 change 旧字段名 新字段名 类型 (长度) [ comment 注释 ]
将student表中的name修改成StudentName 类型为 varchar(10)
atler table student change name StudentName varchar(10) ;
e.修改表名
alter table 表名 rename to 新表名;
将student表名改成 SuperStudent
alter table student rename to StudentName ;
2.3表操作 --- 删除
a.删除表
drop table [ if exists ] 表名;
删除student表
drop table if exists student ;
b.删除指定表, 并重新创建表
truncate table 表名;
在删除表的时候,表中的全部数据也都会被删除。
三、总结
后续还有三个语句还没讲的,因为四个一起讲太多了,本文就先讲SQL的介绍以及DDL的用法
如果本文对你有帮助还望点个赞,收藏➕关注~
万分感谢