近期看到了数据库方面的知识就简单的对sql语句的基本语法做一个总结
SQL语句是现在通用的操作数据库的语句,基本上可以完成对Oracle、MySQL等所有主流的数据库的操作,对于数据库初学者来说sql语句可以简单地分为以下四大类:
1. DDL(Data Definition Language)即数据定义语言,用来定义数据库对象,功能是可以对数据库和表进行增加、删除、修改等操作,操作的对象是数据库和数据库中的表。
DDL语言的基本功能的实现语句包括以下:
- 查看所有的数据库:show databases
- 切换需要操作的数据库:use 数据库名
- 创建数据库:create database if not exist 数据库名 charset=utf8
- 删除数据库:drop database if exists 数据库名
- 修改数据库编码:alter database 数据库名 character set utf8
注:一般创建数据库前要先判断当前数据库系统中是否有你所要建的数据库,如果有先删除
2.DML(Data Manipulation Language)即数据操作语言,用来定义数据库中的记录,通俗来说即对数据进行操作,可以对数据进行增加、删除、修改,操作对象是数据库中的数据。
DML语言主要功能实现语句如下:
- 添加数据 insert into 表名 (列名1,2,…) values (值1,2,…)
insert into 表名 values(值1,2,…)如果没有给出列名,值的个数必须是该表列的个数,且顺序相同 - 删除数据 delete from 表名 where 条件
- 修改数据 update 表名 set 列名 1=列值,2=列值,…where 条件
注:条件必须是一个Boolean类型的值或表达式,主要运算符有=,!=,<>,>,<,>=,<=,BETWEEN…AND,IN(…),IS NULL,NOT,OR,AND等
3.DCL(Data Control Language)即数据控制语言,用来定义访问数据库的用户的访问权限和安全等级,可以进行用户的创建和授权。
DCL语言主要功能实现语句如下:
- 创建用户 create user 用户名@’%’/地址 identified by ‘密码’
- 删除用户 drop 用户名@IP地址
- 查看用户权限 show grants for 用户名@IP地址
- 给用户授权 grant all on 数据库.* to 用户名@IP地址(给某用户某数据库所有的权限)/grant 权限1,…n on 数据库.* to 用户@IP(部分权限)
- 撤销权限 revoke 权限1,…n on 数据库.* from 用户名@IP地址
4.DQL(Data Query Language)即数据查询语言,也是工作中使用频率最高的语言,用来查询数据
- 基本查询 select 列名 from 表名(还可以列名后面跟as起别名)
- 条件查询 select 列名 from 表名 where 条件
- 排序查询 select * from 表 order by 排序参照 asc/ desc 升序/降序(参照1 排序方式,参照2 排序方式: 使用多列作为排序条件)
- 聚合函数 count() 不为null的行数,max()最大值,min()最小值,sum()和,avg()平均数(select 函数 列名 from 表名)