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提供多种日期类型:

  • dateyyyy-MM-dd
  • timehh:mm:ss
  • datetimeyyyy-MM-dd hh:mm:ss

获取当前时间:now()

六、SQL运算符

算术运算

+-*/%

赋值运算

= 从右向左赋值

逻辑运算

andornot

关系运算

>, <, >=, <=, !=, <>, =

七、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

上一篇:java 压缩与解压文件
下一篇:Windows系统中mysql的安装与卸载

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年05月02日 15时28分11秒