文章目录
/点赞再看,养成习惯/
一、SQL简介
1.1 什么是SQL
SQL (Structrue Query Language)
翻译过来即是结构化查询语言,是20世纪70年代由IBM公司发明的用来完成与数据库进行交互的工具语言。
上个世纪的80年代,由美国国家标准局(ANSI)完善并制定了一直被沿用到现在的SQL标准。
1.2 SQL分类
我们常见的SQL语言分来有三种,分别是DDL
,DML
以及DCL
。
- DDL: Data Definition Language即数据定义语言,通常是被用来定义数据段属性,数据库属性及表、列、索引等对象属性所用。常见的关键字有
create
、drop
、alter
。 - DML:Data Manipulation Language即数据操纵语言,通常被用来操纵数据表中的数据,也就是我们常说的数据的增伤改查(这里也有一些老师会将查询相关语句独立出去称为DQL ),常见的关键字有
insert
、update
、delete
、select
。 - DCL: Data Control Language即数据控制语言,常用来进行不同数据段的权限控制,其常见关键字有
grant
、revoke
。
二、 DDL入门
下面我们简单的讲一下常见的DDL语句的格式及用途。
这里提醒一下SQL的初学者,每一句SQL语句的结尾一定要记得加分号;
。
如果还没有安装数据库的同学,可以参考博主往期文章学习数据库的安装及登录:
阿里云轻量应用服务器配置 - MYSQL的安装
2.1 数据库相关
2.1.1 创建数据库
格式:
create database 库名 ;
比如我们创建一个名字叫做test_01的库
create database test_01 ;
效果:
2.1.2 查看已有的所有数据库
格式:
show databases ;
这里我们要稍微延伸一点知识:
当我们安装完MYSQL数据库后,他会为我们创建四个默认库,分别是:
- information_schema : 主要用来存储数据库对象信息
- performance_schema: mysql5.5引入,主要用来存储系统性能相关数据
- sys: 基于information_schema 和performance_schema封装了一些默认视图
- mysql:存储系统用户相关的权限信息
2.1.3 切换正在使用的数据库
格式:
use 库名 ;
比如切换到我们刚刚新建的test_01的库
use test_01 ;
效果:
2.1.4 查看当前库下的所有表
格式:
show tables ;
这里说一下,这里由于是新建的库,还没有建表,因此返回结果为empty
2.1.5 删除数据库
谨慎操作!
格式:
drop database 库名;
drop database test_01 ;
2.2 表相关
2.2.1 创建表
格式:
create table 表名(
字段名1 字段类型 字段备注,
字段名2 字段类型 字段备注
)
记得选择一个库进行操作!
这里只讲最基础的表创建相关,关于主键约束等在后面会详细的去讲,现在先不需要管。
如我们创建一个学生表(student),包含学生ID(id),学生姓名(name),学生班级ID(class_id)及学生性别(sex)这些字段。
CREATE TABLE `student` (
`id` INT ( 11 ) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` VARCHAR ( 32 ) DEFAULT NULL COMMENT '姓名',
`class_id` INT ( 255 ) DEFAULT NULL COMMENT '班级id',
`sex` VARCHAR ( 32 ) DEFAULT NULL COMMENT '性别',
PRIMARY KEY ( `id` )
) ;
效果:
2.2.2 查看表定义
格式:
desc 表名 ;
desc student ;
2.2.3 查看建表语句
格式:
show create table 表名 \g ;
show create table student \g ;
2.2.4 删除表
格式:
drop table 表名
drop table student ;
2.2.5 修改表结构
格式:
Alter Table 表名 Modify 字段名 定义 ; #修改表结构
Alter Table 表名 Add 字段名 定义 ;#新增表字段
Alter Table 表名 Drop 字段名 定义 ;# 删除表字段
Alter Table 表名 Change 字段名 定义 ;# 为字段改名
这里我们以为student表(刚刚如果删除了的小伙伴记得重新建下表)修改sex字段的默认长度举例:
Alter Table student MODIFY sex VARCHAR(8) ;
2.2.6 更改表名称
格式:
Alter table 表名 rename 新表名 ;
Alter table student rename student_01 ;
效果:
三、DML入门
3.1 插入数据
格式:
INSERT INTO 表名 (字段1,字段2,字段3) values (值1,值2,值3);
INSERT INTO student (`id`, `name`, `class_id`, `sex`) VALUES (1, '张三', 001, '男');
3.2 更新表数据
格式:
UPDATE 表名 SET 字段 = 值 WHERE 条件 ;#一定要注意写条件
UPDATE student SET name = "张四" where id = 1
3.3 删除数据
DELETE FROM 表名 WHERE 条件 ;
DELETE from student where id = 1 ;
3.4 查询数据
查询语句会在后面的章节详细的讲解,这里先只讲述基本结构
SELECT 字段1,字段2,字段3 ... FROM 表名 WHERE 条件
select * from student;# 这里的*代表全部字段
四、DCL入门
4.1 创建用户
CREATE USER 用户名 IDENTIFIED BY 密码 ;
CREATE USER 'test01' IDENTIFIED BY '#Test1235678' ;
4.2 为用户授予操作权限
Grant 权限类型 on 表名 to 用户 ;
Grant select on student to test01 ;
4.3 撤销用户操作权限
revoke 权限类型 on 表名 to 用户 ;
revoke select on student to test01 ;
结语
今天关于SQL入门的基础知识到这里就结束了,有问题的小伙伴可以在评论区留言或者关注晓龙oba公众号,博主在看到的第一时间就会为您解答!