数据库操做,不论是服务端、前端、移动端,都或多或少的会涉及到数据的存储、查询、修改。因此做为一名开发者,数据库操做也是开发必备的一项技能。前端
SQL全称是Structured Query Language,翻译后就是 结构化查询语言,是一种数据库查询和设计语言, 用于存取数据与及查询、更新和管理关系数据库系统。
常见的数据库有MySQL、SQLServer、ORACLE、DB2等等。面试
数据库操做概览图:数据库
数据库的基本操做步骤:函数
CREATE TABLE emp ( id int NOT NULL PRIMARY KEY, //添加主键 name varchar(20), gender varchar(2), performance int, salary double )
若是建立表后,忘记添加主键或者外键,可使用ALERT添加。spa
ALERT TABLE emp ADD PRIMARY KEY(id); //添加主键 ALERT TABLE orders ADD FOREIGN KEY (e_id) REFERENCE emp(id); //添加外键
向表中加入数据。翻译
//向emp 表中插入一条数据,插入字符串时使用'' INSERT INTO emp VALUES(1, 'yijie', 'male', 85, 18000.0);
向表中插入数据的标准格式是:设计
insert into tableName(column1, column2...) values('value1', 'value2'...)
更新表中的数据。code
update emp set salary=20000 where name='yijie';
delete from emp where id=8;//删除表中的某条数据,where后面的为条件 delete * from emp;//删除表中的全部数据,清空表 drop table 表名称; //删除某张表
注意:在使用delete删除表中数据时,若是该表与其余表有关联关系,如:外键,得先删除关联表中的外键。orm
一张表通过一段时间的操做,避免不了会出现数据重复的状况。重复的数据不只没有意义,并且占用存储空间。这个时候distinct就悄然登场了。distinct用于根据条件去除表中的重复内容。排序
//查询emp中的name,返回惟一的名字 select distinct name from emp;
查询是数据库操做中最经常使用的操做,也是最难的。select语句用于从表中查询数据,结果被存储在一个结果表中(称为结果集)。
SELECT 语法:
SELECT 列名称 FROM 表名称; //查询表中的某列数据
SELECT * FROM 表名称; //查询整张表
还有更为复杂的条件查询。
数据库还为咱们提供了一些函数,方便咱们进行数据库操做。这些基础函数基本都是列名为函数参数,返回某一列的计算结果。
avg()用于返回某列的平均值,NULL不包含在计算中。
select AVG(salary) as avg_salary form emp; //查询员工的平均薪水
COUNT函数用于返回匹配指定条件的行数。
select COUNT(*) from emp; //返回表的记录数
MAX函数返回指定列的最大值,NULL字不包括在计算中。
MIN函数返回指定列的最小值,NULL字不包括在计算中。
SUM函数返回指定列的总数。
ROUND函数用于把数值字段舍入为指定的小数位数。
select ROUND(salary,1) as n_salary from emp; //将salary保留一位小数
select ROUND(column_name,decimals) from table_name;
参数 | 描述 |
---|---|
column_name | 要舍入的字段 |
decimals | 规定要返回的小数位数 |
FORMAT用于对指定字段的显示进行格式化。
SELECT FROMAT(column_name,format) FROM table_name;
参数 | 描述 |
---|---|
column_name | 要格式化的字段 |
format | 指定的格式 |
还有一些SQL的高级用法,分页、模糊匹配、排序等等。
分页查询就是返回返回当前页码对应的页面的数据。
分页查询的基本公式:(page - 1) * pageSize + 当前页要显示的数据条数
select * from emp limit 4; //返回前4条数据
模糊匹配是配合where条件使用的。
//%能够理解为定义通配符 select * from emp where name like 'a%'; //返回以a开头的全部姓名
返回特定列在某个集合中的全部数据。
select * from emp where name in ('AA', 'BB'); //返回name为AA、BB的全部数据。
联表运算符JOIN,用于将两个或者两个以上的表进行关联,并从这些表中查询数据。
经常使用的几种链接方式:
UNION运算符用于合并两个或多个SELECT语句的结果集。
UNION内部的SELECT语句必须具备相同数量的列,列也必须具备类似的数据类型。同时,每条SELECT语句中列的顺序必须相同。
通常用于修饰主键,使其保持自增。
使用order by对查询结果进行排序,默认是升序。
select * from emp order by name;
一般匹配合计函数使用,根据一个或者多个列队结果集进行分组。
用于给分组设置条件。
default约束用于向列中插入默认值。
本文是对数据库中常常用到的一些写法与及函数的概括总结,方便之后用到的时候可以快速查询到。题外话:主要是前段时间去面试的时候,被问到修改一条数据的语句怎么写时,居然没有回到上来,因此决定对数据库的经常使用操做作一个总结。