
SQL语言-DDL、DML、DCL
发布日期:2021-05-15 16:26:47
浏览次数:8
分类:精选文章
本文共 2278 字,大约阅读时间需要 7 分钟。
SQL基础入门与分类
一、SQL概述
SQL(Structure Query Language,结构查询语言)是一种标准化的关系型数据库查询语言,由美国国家标准局(ANSI)确定为关系型数据库的美国标准,后被国际化标准组织(ISO)采纳为关系型数据库的国际化标准。
各数据库厂商都支持ISO的SQL标准,也在标准基础之上做了扩展。SQL提供了CRUD操作的实现,即Create、Read、Update、Delete四个基本操作。二、SQL语言分类
根据功能划分,SQL可以分为以下几类:
1. DDL(Data Definition Language,数据定义语言)
用于定义数据库对象:包括库、表、列等。
2. DML(Data Manipulation Language,数据操作语言)
用于对数据库记录(数据)进行增删改操作。
3. DCL(Data Control Language,数据库控制语言)
用于定义数据库安全权限和访问级别。
4. DQL(Data Query Language,数据查询语言)
用于查询数据库记录(数据)。
三、DDL操作
1. 操作数据库
创建数据库
create database mydb1;create database mydb1 character set utf8mb4;create database mydb1 set GBK collate gbk_chinese_ci;
查看数据库
show databases;show create database mydb1;
修改数据库
alter database mydb1 character set utf-8;
删除数据库
drop database mydb1;
切换数据库
use mydb2;
2. 操作表
创建表
create table card( cardid int not null, cardnum varchar(20), regDate date);
查看表
show tables;desc cardinfo;
表操作
- 删除表
drop table cardinfo;
- 增加列
alter table cardinfo add delDate date;
- 修改列
alter table cardinfo change cardnum cardnum varchar(30);
- 删除列
alter table cardinfo drop regDate;
- 修改表名
alter table card rename CardInfo;
- 查看字符集
alter table 表名 character set utf-8;
四、DML操作
1. INSERT操作
basic insert
insert into 表名(列名) values(数据值);insert into student(stuname,stuage,stusex,birthday) values('张三1',18,'a','2000-1-1');
omit column name
insert into student values('李四',12,'1111',189.98,'2000-1-1','男','2007-1-1');
multiple rows
insert into student(stuname,stuage,stusex,birthday) values('张三3',18,'a','2000-1-1'), ('张三4',18,'a','2000-1-1');
注意事项
- 列名与列值一一对应且顺序一致。
- 非数值字段需用单引号括起来。
- 日期和字符串需用单引号括起。
- 注意字段长度和约束。
2. UPDATE操作
basic use
update 表名 set 列名1=值1,列名2=值2... where 条件;update student set stuname='张三', stuage=18 where id=1;
3. DELETE操作
basic delete
delete from 表名 [where 条件];delete from student where id=1;
truncate table
truncate table 表名;
注意事项
delete
用于删除数据,表结构不变,数据可恢复。truncate
直接清空表,执行速度快,删除的数据不可恢复。
五、日期类型
SQL提供多种日期类型:
date
:yyyy-MM-dd
time
:hh:mm:ss
datetime
:yyyy-MM-dd hh:mm:ss
获取当前时间:now()
六、SQL运算符
算术运算
+
、-
、*
、/
、%
赋值运算
=
从右向左赋值
逻辑运算
and
、or
、not
关系运算
>
, <
, >=
, <=
, !=
, <>
, =
七、DCL操作
创建用户
create user 用户名@localhost identified by 密码;create user test@'%' identified by 'test@123';
授权用户
grant select,insert,delete,update,create on test_db.* to test@'%';grant all on *.* to test@localhost;
查询权限
show grants for test@'%';
移iors
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年05月02日 15时28分11秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
scratch3的作品(sb3格式的文件)怎么在移动端(手机)上进行播放呢
2019-03-12
wincc实现手机APP远程监控
2019-03-12
3.6.X版本的OSG无法打开osgShadow/ShadowVolume的问题
2019-03-12
LSM树
2019-03-12
vue手写 头部 滑动按钮 点击查看更多,可折叠
2019-03-12
为什么 RTP 的视频的采样率是 90kHz ?
2019-03-12
IDEA快捷键CTRL+SHIFT+F无效
2019-03-12
IDEA 找不到 Persistence窗口解决办法
2019-03-12
海思SDK mkimage command not found
2019-03-12
QT5 退出窗口
2019-03-12
rk3399平台gt9xx触摸屏驱动分析
2019-03-12
X工厂 ERP (SBO) 2006 项目案例
2019-03-12
Android 吸顶布局
2019-03-12
python学习笔记2.3- 循环、判断
2019-03-12
U3D实现WebCamera显示
2019-03-12
SpringCloud第七章Ribbon负载均衡服务调用
2019-03-12
Python我的模块-字符替换
2019-03-12