JavaWeb_08_SQL基础

《SQL基础》

目录

  • SQL简介(掌握)
  • DDL操作(熟练)
  • DCL操作(了解)

一、SQL简介

结构化查询语言(Structured Query Language)简称SQL,是用于在关系型数据库上执行数据操作、数据检索以及数据维护的标准语言。

SQL分类

  • DDL(Data Definition Language):数据定义语言,用于数据库对象操作;
  • DML(Data Manipulation Language):数据操作语言,用于数据操作;
  • DCL(Data Control Language):数据控制语言,用户权限控制。

SQL规范

  • SQL语句不区分大小写;
  • 字符串常量区分大小写;
  • SQL语句可单行或多行书写,以“;”结尾。

二、DDL操作

(一)数据库操作

默认数据库

mysql:该库是mysql核心数据库,主要存储数据库用户、权限、时区等mysql自身需要使用的信息;

information_schema:数据字典表,存储数据库元数据,比如数据库名、表名、字段名、索引等;

performancce_schema:用于收集数据库服务器性能数据,以便分析问题;

sys:该库所有数据来自performancce_schema,主要是快速了解数据库运行情况。

案例一(数据库操作)

-- 1.显示已有数据库
show databases;

-- 2.创建数据库
create database if not exists test character set 'utf8';

-- 3.选择数据库
use test;

-- 4.查看当前数据库
select database();

-- 删除数据库
drop database if exists test;

(二)表操作

表字段

  • 常用类型
int							-- 整数
double						-- 小数(双精度)
char						-- 字符串(固定长度)
varchar						-- 字符串(可变长度)
date						-- 日期
time						-- 时间
datetime					-- 时间日期组合
enum						-- 枚举
blob						-- 二进制大对象(最大长度65535字节)
text						-- 长文本(最大长度65535字符)
...
  • 常用关键字
auto_increment				-- 自动递增(用于整型字段)
comment						-- 添加注释
default						-- 指定默认值
  • 常用约束
primary key					-- 主键约束(非空且唯一)
unique						-- 唯一约束(字段值唯一但允许null值)
not null					-- 非空约束
foreign key					-- 外键约束(一张表的外键是另外一张表的主键)

案例二(表操作)

-- 1.删除表
drop table if exists teacher;

-- 2.创建表
create table if not exists teacher(
	teacher_id int primary key auto_increment comment '教师ID',
	teacher_name varchar(20) not null comment '教师姓名',
    age int comment '年龄',
	phone_number char(11) unique comment '电话号码',
	info varchar(300) default '暂无描述' comment '个人信息'
)comment '教师表';

-- 3.重命名表
rename table teacher to abc;
rename table abc to teacher;

-- 4.修改表
-- 4-1.删除列(alter table 表名 drop 列名)
alter table teacher drop info;

-- 4-2.添加列(alter table 表名 add 列名 列类型 before/after 某列)
alter table teacher add introduce char(100) after phone_number;

-- 4-3.修改列类型(alter table 表名 modify 列名 列类型)
alter table teacher modify introduce varchar(300);

-- 4-4.列改名(alter table 表名 change 旧列名 新列名 列类型)
alter table teacher change introduce info varchar(300) default '暂无描述' comment '个人信息';

-- 5.查看表结构
describe teacher;

-- 6.显示建表语句
show create table teacher;

三、DCL操作

用户操作

-- 查看已存在用户
use mysql;
select * from user;

-- 添加用户
create user user1 identified by '123456';
create user user2 identified by '123456';

-- 删除用户
drop user user2;

-- 修改密码
alter user 'user1' identified by '12345678';

权限操作

-- 添加权限
grant all on *.* to user1;

-- 删除权限
revoke all on *.* from user1;

-- 添加部分权限
grant create,drop on test.teacher to user1;

-- 查看用户已有权限
show grants for user1;

总结

重点

  1. SQL相关概念及书写规范;
  2. DDL操作;
  3. 用户操作。

难点

  1. DDL操作;
  2. DCL操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值