热线电话:13121318867

登录
2020-06-01 阅读量: 731
sql 语言

sql 操作语言分类

1. 数据库定义语言

show databases;-- 查看系统中有哪些数据库

create database test;-- 创建test数据库

use test;-- 选择进入数据库

drop database test;-- 删除数据库

create table department(deptid int,dname varchar(15),num int);-- 创建数据表

show tables;-- 查看当前数据库中有哪些表

desc department;-- 查看表结构

drop table department;-- 删除数据表

create table employee(

empid int primary key auto_increment,

ename varchar(10) unique,

job varchar(10) not null default '-',

mgr int,

hiredate date,

sal float default 0,。

comm float,

deptid int,

foreign key(deptid) references dept(deptno)

);-- 创建带有约束条件的表


数据库操作语言

alter table employee rename emp;-- 修改新表名

alter table 表名 change 原字段名 新字段名 数据类型[自增/非空/默认][字段位置];-- 主键 外键 没有指定修改不会变,位置仅支持first、after 字段名两种,即放在第一位或某个字段的后面

alter table 表名 modify 原字段名 数据类型[自增/非空/默认][字段位置];-- 修改原字段数据类型和约束条件

alter table 表名 add 新字段名 数据类型[自增/非空/默认][字段位置];-- 新增表字段

alter table 表名 drop 字段名;-- 删除表字段

数据库操作语言

insert into 表名(字段1[,字段2,...]) values(数据值1,数据值2,数据值3...);-- 插入表数据

set sql-safe-updates=0;-- 批量执行更新操作,mysql5.8会触发安全机制,需设置数据库安全权限

update 表名 set [列名=值,列名2=值] where [列名=值];-- 更新表数据语句

delete from 表名 where 列名=值;-- 删除表数据,可删除部分数据,仅删除数据

truncate 表名;-- 删除表数据,该方法删除全部数据;truncate 先删除表再创建新表,相比而言truncate执行效率更高

数据库查询语言

全表查询:select * from 表名;

查询指定列:select 字段1 [,字段2,...]from 表名;

别名的设置:select 字段名[as]列别名 from 原表名[as]表别名;别名可以使用关键字as,也可以使用空格,名称不需要加引号。数据库名称、表名称、字段名称都不需要加引号。

查询不重复的记录:select distinct 字段名 from 表名;

条件查询:select 字段1[,字段2,...]from 表名 where 查询条件;

空值查询:select 字段1[,字段2,...]from 表名 where 空值字段 is [not] null;

模糊查询:select 字段1[,字段2,...]from 表名 where 字符串[not] like 通配符;

百分号(%)通配符:匹配多个字符

下划线(_)通配符:匹配一个字符

模糊查询只能用于字符串类型的字段

查询结果排序:select 字段1 [,字段2...] from 表名 order by 字段1[排序方向,字段2,排序方向...];多字段排序时,先按第一个字段排序,第一个字段相同时再按第二个字段排序。指定排序方向:asc升序,desc降序(没有指定排序方向时,默认是asc升序)

限制查询结果数量 select 字段1 [,字段2...] from 表名 limit [偏移量,]行数;limit接受一个或两个数字参数,参数必须是一个整数常量。第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目,如果只给定一个参数,表示返回最大的记录行数目。初始记录行的偏移量是0(而不是1)

运算符包括算数运算符(+、-、*、/)、逻辑运算符(1not非,2and且,3or或)、比较运算符(=、>/>=、</<=、!=/<>、between and)运算符优先级依次为()、算数运算符、比较运算符、逻辑运算符

数据库控制语言控制

select 语句执行顺序

FROM--->WHERE--->GROUP BY--->HAVING--->SELECT--->ORDER BY--->LIMIT

SELECT 要返回的列或表达式 是

FROM 从中检索数据的表或视图 仅从中检索数据时使用

WHERE 行级过滤 仅对记录进行筛选时使用

GROUP BY 分组字段 仅在分组聚合运算时使用

HAVING 组级过滤 仅对分组进行筛选时使用

ORDER BY 输出排序 仅对查询结果进行排序时使用

LIMIT 限制输出 仅对查询结果限制输出时使用

27.2550
3
关注作者
收藏
评论(0)

发表评论

暂无数据