MySQL基本功(风流倜傥卡塔 尔(阿拉伯语:قطر

作者:分分快三全天计划网站

(5卡塔尔SELECT (7卡塔 尔(英语:State of Qatar)DISTINCT (6卡塔 尔(英语:State of Qatar)聚合函数

2、条件查询

2.1、条件查询介绍
基准查询就是在询问时给出WHERE子句,在WHERE子句中能够利用如下运算符及关键字:=、!=、<>、<、<=、>、>=;
BETWEEN...AND; IN(set);IS NULL; AND; OR; NOT
2.2、查询gender为女,何况年龄为50的记录
SELECT *FROM stu WHERE gender=‘fename’ OR sname age=50;
2.3、查询学号不是S_1001,S_1002,S_1003的及学生记录
SELECT *FROM stu WHERE sid IN(‘S_1001’,‘S_1002’,‘S_1003’);
2.4、查询年龄为null的笔录
SELECT *FROM stu WHERE age IS NULL;

37、改过列类型

二、DDL

35、新增列

一、分类

1、DDL(Data Definition Language卡塔尔:数据库定义语言,用来定义数据库对象:表、列、库等。
2、DML(Data Manipulation Language卡塔尔国:数据操作语言,用来定义数据库记录(数据卡塔尔。
3、DCL(Data Control Language卡塔 尔(英语:State of Qatar):数据调控语言,用来定义访谈权限和安全等级。
4、DQL(Data Query Language卡塔 尔(英语:State of Qatar):数据查询语言,用来查询记录(记录卡塔 尔(英语:State of Qatar)。

例如:SELECT * FROM student LIMIT 2,5;

6、聚合函数

聚合函数是用来做纵向运算的函数:有COUNT(卡塔 尔(阿拉伯语:قطر‎、MAX(卡塔尔国、MIN(卡塔尔国、SUM(卡塔尔国、AVG(卡塔 尔(阿拉伯语:قطر‎;
6.1、COUNT:总结钦点列不为null的记录行数
例1:查询emp表中的记录数:
SELECT COUNT(*)FROM emp;
例2:查询emp表中有回扣(comm卡塔尔的食指:
SELECT COUNT(comm)FROM emp;
注意:例1是总结全体非空行的笔录的总的数量,例二中因为钦定了是comm列,所以只总括comm列非NULL的行数
6.2、SUM和AVG
sum是精打细算内定列的数值和,假若钦定列的类型不是数值类型,那么合算结果为0;
avg是估测计算钦定列的平均值,若是内定列的档案的次序不是数值类型,那么合算结果为0;
两个都以纵向的
例1:查询emp表全体职员和工人每月薪水(sal卡塔尔国和及平均工钱(comm卡塔尔
SELECT SUM(sal),AVG(comm)FROM emp;

 

3、模糊查询

当想询问姓名中蕴涵a字母的学子时就必要选择模糊查询,模糊查询关键字LIKE。
询问姓名中第2个字母为a的学子记录:SELETE *FROM stu WHERE sname LIKE '_i%';
一个横线代表以为,”%“代表背后位数不限。

 

2、操作数据库

2.1、 成立数据库:CREATE DATABASE [IF NOT EXISTS] mydb;
即使写CREATE DATABASE mydb,会创制贰个名称叫mydb的数据库,但假如这几个数据库已经存在,则会报错,为了幸免不当,则在创设的时候增加[IF NOT EXISTS],在不设有时创立该库。

2.2、 删除数据库:DROP DATABASE [IF EXISTS] mydb;IF EXISTS代表即使存在,意为如若数据库存在,则删除该数据库,假使不写IF EXISTS,在数据库不设有的是偶删除,会报错。

2.3、校正数据库编码:ALTELAND DATABASE mydb CHARACTE奥迪Q5 SET UTF8;修正数据库mydb的编码为utf-8,注意:在MySQL中兼有的utf-8编码都无法选择当中的“-”。

束条件,…); 暗中认可加在列尾

8、LIMIT

LIMIT用来界定查询结果的发端行,以至总行数
例:从emp表中查询5行记录,初始行为0
SELECT *FROM emp LIMIT 0,5;

SELECT job,max(sal) FROM emp GROUP BY job;

四、DQL

DQL就是多少查询语言,数据库推行DQL语句不会对数据开展改造,而是让数据库发送结果集到客商端。
语法:
SELECT selection_list 要查询的列名称
FROM table_list 要查询的表名称
WHERE condition 分组后的行条件
GROUP BY grouping_columns 对结果分组
HAVING condition 分组后的行条件
ORDER BY sorting_columns 对结果分组
LIMIT offset_start,row_count 对结果节制

SHOW variables LIKE 'autocommit';

4、操作表

4.1、操作表
(1)、创建表:
CREATE TABLE 表名(
列名 列类型,
列名 列类型
........
);
(2卡塔尔国、查看当前数据库中具备表名称:SHOW TABLES;
(3卡塔 尔(英语:State of Qatar)、查看钦赐表的创制语句:SHOW CREATE TABLE emp,查看emp表的开创语句;
(4卡塔 尔(英语:State of Qatar)、查看表布局:DESC emp; 查看emp表构造;
(5)、删除表:DROP TABLE emp,删除emp表;
(6)、修改表:
修改之加多列:给stu表增添classname列:alter table stu add(classname varchar(100));
修改之改进列类型:校订stu表的gender列类型为CHASportage(2):ALTE奇骏 TABLE stu MODIFY gender CHAMurano(2卡塔尔;
改进之修改列名:改良stu表的gender为sex:ALTE福特Explorer TABLE stu change gender sex CHAOdyssey(2卡塔尔国;
矫正之删除列:删除stu表的classname列:ALTEENVISION TABLE stu DROP classname;
改过之改正表名称:修改stu表名叫student:ALTEENCORE TABLE stu RENAME TO student;

(8卡塔 尔(阿拉伯语:قطر‎O陆风X8DEPAJERO BY 排序语句

2、改进数据

update 表名 set 列名1=值1,.....,列名n=值n WHERE 条件;

colname2;

1、插入数据

INSERT INTO 表名(列名1,列名2,....)VALUES(值1,值2);

INSERT INTO 表名 VALUES(值1,值2卡塔 尔(阿拉伯语:قطر‎;这一个讲话因为未有一点点名要插入的列,所以插入数据的时候要按建表时的依次插入;

#翻看每多少个职位的最高级程序猿资

5、排序

5.1、查询stu表的兼具记录,按年龄sage升序排序
SELECT *
FROM
ORDER BY sage ASC;
或者:
SELECT *
FROM
ORDER BY sage ;
ASC代表升序,默感觉升序

5.2、查询stu表的享有记录,按年龄sage降序排序
SELECT *
FROM
ORDER BY sage DESC;
DESC代表降序

增加生产技艺多列:ALTE陆风X8 TABLE tbname ADD COLUMN (colname1 类型 约束条件, colname1 类型 约

4、字段调整查询

4.1、去除重复记录,假诺两行或两行以上的数量完全相近,就必要去除重复记录,关键字DISTINCT。
SELECT DISTINCT sal FROM emp;
4.2、查看雇员的月收入sal与酬金comm之和:因为定义的时候把它们定义创造数值类型,所以能够直接做加运算,要是sal或comm中有叁个字段不是数据类型,就能出错
SELECT *,sal comm FROM emp;
因为有希望现身sal或comm为null的境况,任何事物与null相加结果或许null,当时就必要将记录是null的之调换一下,使用 IFNULL(调换前的列名,要求替换null的数值卡塔尔,例SELECT *,sal IFNULL(comm,0) FROM emp;
4.3、给列名增多别称:按上文4.2所写,寻找出来的的月薪与薪资之和的列名叫:
sal IFNULL(comm,0卡塔尔,看起来很别扭,这时候能够给它起一个小名(如total卡塔 尔(阿拉伯语:قطر‎:
SELECT *,sal IFNULL(comm,0卡塔 尔(英语:State of Qatar)AS total FROM emp;相同的时间AS可粗略(起外号的时候卡塔尔国:SELECT *,sal IFNULL(comm,0)total FROM emp;

 

1、基本操作:

1.1、 查看全部数据库名称:SHOW DATABASES;

1.2、 切换数据库:USE mydb;,切换来mydb数据库。

 

三、DML

34、SELECT查询语句的语法结议和举办种种

7、分组查询

行使分组查询时须求选择BROUP BY子句,以GROUP BY前面包车型客车列来举办分组
7.1、例:查询各样单位的单位编号(deptno卡塔尔以至种种部门薪资(sal卡塔尔大于1500的人数
SELECT deptno,COUNT(*)
FROM emp
WHERE sal>1500
GROUP BY deptno;
7.2、HAVING子句
例:查询薪金(sal卡塔 尔(阿拉伯语:قطر‎总和大于9000的机关编号以致薪金和:
SELECT deptno,SUN(sal)
FROM emp
GROUP BY deptno
HAVING SUM(sal)>9000;
留意:WHERE是对分组前记录的基准查询,假如那行记录未有知足WHERE子句的法则,那行记录就不会在座分组,而HAVING是对分组后数据的羁绊,本例首先对机关实行分组,再找寻薪资和不仅仅9000的机构,所以用HAVING

此中LIMIT 2,5:表示从第3行(包含第三行)伊始,以后询问5条记下

3、删除数据

delete FROM 表名 WHERE 条件;

TRUNCATE TABLE 表名;纵然TRUNCATE和DELETE都能够删除表的装有记录,但原理不相同。DELETE的功效未有TRUNCATE高; TRUNCATE其实归于DDL语句,它是先DROP TABLE,在CREATE TABLE。何况TRUNCATE删除的记录是心余力绌回滚的,DELETE删除的笔录能够回滚。

(3卡塔尔国GROUP BY 分组语句

1、幼功查询

1.1、查询stu表的全体列: SELECT *FROM stu;
1.2、查询stu表的内定列(sid,sname,age卡塔尔国:SELECT sid,sname,age FROM stu;

内部LIMIT 5:表示回去前5条(满含第五条)数据

3、数据类型

MYSQL与Java同样,也许有数据类型。MySQL中数据类型首要运用在列上。

常用类型:
int:整型
double:浮点型,比方double(5,2卡塔尔表示最多5位,此中必须有2位小数,即最大值为999.99;
decimal:浮点型,在表单钱方面选取该品种,因为不会现出精度缺点和失误难题;
char:固定长度字符串类型;
varchar:可变长度字符串类型;
text:字符串类型;
blob:字节类型;
date:日期类型,格式为yyyy-MM-dd;
time:时间项目,格式为hh:mm:ss;
timestamp:时间戳类型;

ALTER TABLE oldtbname1 RENAME newtbname2;

28、分组语句:GROUP BY colname1,colname2 ASC(暗中同意升序)/DESC(降序)

专业的交给:commit;

 

 

30、事务(transaction):能够一条SQL语句或生龙活虎组SQL语句

 

ALTER TABLE tbname DROP COLUMN colname;

SELECT * FROM emp WHERE sal = (SELECT max(sal) FROM emp);

举个例子:SELECT DISTINCT sname,mark FROM student; 表示对sname和mark两列数据都相同一时候 才会去重

 

36、删除列

33、去重语句:DISTINCT 必须放在SELECT语句后的首先个

举个例子:SELECT DISTINCT sname FROM student; 表示对sname列的值进行去重

增加生产能力一列:ALTEPRADO TABLE tbname ADD COLUMN colname 类型 约束条件;

(2卡塔 尔(阿拉伯语:قطر‎WHERE 条件语句

RENAME TABLE oldtbname1 TO newtbname2;

查阅当前数据库是或不是设置自动提交业务

Day3

 

新添列在首列:ALTE瑞鹰 TABLE tbname ADD COLUMN colname 类型 节制条件 FIRST;

(1)FROM 表名

关闭专门的职业自动提交:SET autocommit = OFF;

32、节制语句:LIMIT

 

事务ACID特性

38、改进列名称

DELETE FROM emp WHERE sal = (SELECT e.s FROM (SELECT min(sal) s FROM emp) e);

31、排序语句:O奇骏DECR-V BY colname1,colname2 ASC(暗中同意升序)/DESC(降序)

#查阅最高级程序员资超过10000的职位

(4卡塔 尔(阿拉伯语:قطر‎HAVING 分组条件语句

SELECT job,max(sal) '最高级程序猿资' FROM emp GROUP BY job HAVING 最高级程序员资 > 10000;

ALTER TABLE tbname MODIFY COLUMN colname 新类型;

INSERT,UPDATE,DELETE语句都急需提交业务(COMMIT;),事务中的SQL语句才会收效

39、改良表名称

 

ALTER TABLE tbname CHANGE COLUMN 旧名称 新名称 原类型 原约束;

SELECT count(DISTINCT sname) FROM student;

例如:SELECT * FROM student ORDER BY mark DESC LIMIT 5;

 

#求最高级程序员资的职员和工人音信

例如:SELECT * FROM student ORDER BY mark DESC;

 

#去除薪酬低于的职工音讯

Atomicity(原子性),Consistency(一致性),Isolation(隔离性),Durability(持久性)

#计算不相同姓名的学子人数

 

29、分组条件语句:HAVING,是对分组之后的尺度约束,且HAVING里可以动用聚合函数,HAVING后现身的列名(能够选取外号)必定要在SELECT语句中冒出,可是WHERE语句不可能动用别称

例如:SELECT sal FROM emp GROUP BY sal DESC;

(9卡塔尔LIMIT 约束语句

新添列在某列之后:ALTEPAJERO TABLE tbname ADD COLUMN colname1 类型 节制条件 AFTE奥迪Q5

本文由分分快三计划发布,转载请注明来源

关键词: 分分快三计划 Java学习杂记