MySQL基础语句操纵的总结【MySQL教程】,MySQL
数据库操纵语句
(引荐课程:MySQL教程)
建立
create database 数据库名检察一切数据库
show databases。检察指定数据库建表语句及字符集
show create database 数据库名删除数据库
drop database 数据库名修正数据库字符集-相识
alter database 数据库名 character set ‘字符集’切换数据库
use 数据库名检察当前数据库称号
select database();
数据表构造的增编削查
有了数据库以后,想保留数据,必需在数据库中先有数据表。
建立数据表:
use 数据库名检察表:
show tables;检察该数据库的一切表
desc 表名;检察表的列的信息(表构造)单表建立时束缚
为了防备重名,保证存储在数据表中的数据完全和有效性。
束缚经常运用语法:列名 数据范例 束缚前提
一张表中只能有一个主键:id int primary key auto_increment数据表构造删除:能够对表名、列名、类的范例、类的束缚前提举行增编削。
增添列:alter table 表名 增/删/改 列名 范例(长度) 束缚;
修正列范例、长度和束缚:alter table 表名 modify 列名 范例(长度) 束缚;
修正现有列称号:alter table 表名 change 旧列名 新列名 范例(长度) 束缚;
修正现有列:alter table 表名 drop 列名 ;
修正表名:rename table 旧表名 to 新表名;
修正表的字符集:alter table 表名 character set 编码集;
数据表删除:drop table 表名;数据表小结
数据表建立(主要)
create table 表名(
列名 数据范例 束缚 ,
列名 数据范例 束缚 束缚,
………
);
检察表
show tables:检察一切的表
show create table 表名: 检察建表语句以及字符集
desc 表名:检察表构造。
修正表的语句(相识)
alter table 表名(add|modify|drop|change) 列名 范例(长度) 束缚。
rename table 旧表名 to 新表名
删除表
drop table 表名
简朴数据表内容的增编削查(很主要)
insert语句——数据纪录的增添
CRUD:create、read/retrieve、update、delete
在Java代码中对数据库操纵最频仍的就是对表中数据的CRUD操纵。
数据的存储位置:表。
体式格局一:全写
语法:insert into 表名 (列名,列名,列名…) values (值,值,值…);
注重:
1、值与列一一对应。有多少个列,就须要写多少个值。假如某一个列没有值。能够运用null。示意插进去空。
2、值的数据范例,与列被定义的数据范例要相匹配。而且值的长度不能够凌驾定义的列的长度。
3、字符串:插进去字符范例的数据,必需写单引号。在mysql中,运用单引号示意字符串。
4、date 时刻范例的数据也能够直接运用单引号示意: ‘yyyyMMdd’ ,’yyyy-MM-dd’,’yyyy/MM/dd’ 。
5、在插进去数据的时刻, 假如某些列能够为null, 或许是自动增进的列, 或许有默认值的, 在插进去的时刻能够省略. 或许编写null, 完成自动增进.
6、假如给表中的一切列插进去数据, 这时候能够省略表背面的列名, 直接写values.
运用select*from 表名——检察该表一切信息。
体式格局二:省略部排列
某一列有默认值,或许许可空,才能够省略。
主键是自增进的认为是有默认值的,也能够省略。
体式格局三:省略一切列
语法:insert into 表名 values(值,值,值);
update语句——修正表纪录
语法:update 表名 set 列名=值,列名=值…[where 前提语句];
中括号不是语法内容,在这里示意这个前提语句可加可不加。
注重事项:
1、假如不加前提,将会修正某一列的一切值。
2、平常修正数据时,都须要增添前提。
多个列运用逗号离隔。
eg:将一切人的岁数修正为20岁
update user set age=20;
eg:将姓名为张三的人岁数改成18岁
update user set age=18 where name=“张三”;
delete语句——删除表中数据的语句
语法:delete from 表名 [where 前提语句]
假如没有where,删除表中一切数据
delete删除的是行。Truncate语句——删除数据
语法:truncate table 表名;
先删除表,再建立表,就相当于将数据悉数删除了。
就机能来说:truncate table 的机能更好。
数据纪录增编削小结:
新增:
insert into 表名 values(值,值,值……)
insert into 表名(列名1,列名2,列名3….) values(值1,值2,值3……)
insert into 表名(列名2,列名4,列名5….) values(值2,值4,值5……)
修正:
update 表名 set 列名=值,列名=值 where 前提
删除:
delete from 表名 where 前提
假如不加where 前提,就是删除一切的数据。
删除:清空数据
truncate table 表名
经由过程删除整张表以后再从新建立一张表来到达清空数据的目标。
delete 和 truncate的区分是delete删除的数据在事务管理的状况下还能恢复,而truncate则不能恢复。
SQL中的聚合/群集函数
聚合函数:多个数据举行运算,运算出一个效果。
比方:乞降、平均值、最大值、最小值。
SQL语言中定义了部份函数能够完成这些操纵。count函数——统计纪录数(统计行数)
语法:select count() | count(列名) from 表名
select count() from 表名: 统计表中的行数。
sum乞降函数
语法:select sum(列名) from 表名;
select sum(列名) from 表名 where 前提
avg函数——平均值
语法: select avg(列名) from 表名;
max/min 最大值/最小值
select max(列名),min(列名) from 表名
group by 分组查询****
根据某一列或许某几列。把雷同的数据,举行兼并输出。
select … from … group by 列名;
申明:实在就是按列举行分类,然后能够对分类完的数据运用群集函数举行运算。
注重事项:
1、聚合函数:分组以后举行盘算;
2、一般 select的内容:a 被分组的列,b 聚合函数。
3、假如碰到这类状况 根据 每种,每一个。 相似的这些语句的时刻,一般会运用分组。
4、假如运用group by 对数据举行分组以后还要过滤。这时候平常不能运用where,由于where关键字的背面不能跟上面解说的这些函数。假如须要在过滤的前提中加上述的函数,只能运用having关键字。
5、where 后不能跟 聚合函数,having中能够跟 聚合函数。
group by 列名 having 前提
分组以后加过滤前提。
where 和 having 的区分。
1、having 一般与group by 分组连系运用。
2、having 能够誊写聚合函数 (群集函数涌现的位置: select 以后,group by … having 以后)where 不能够。
也就是说Where背面的前提having后都能够有,having后跟的前提where后不肯定能跟
3、where 是在分组之前举行过滤的。having 是在分组以后举行过滤的。
查询时,如非必要,用where的效力更高,由于先将数据挑选以后再举行其他前提推断。
申明 : select … from … where 前提1 … gropu by … having 前提2 order by
前提1 会先实行过滤
举行分组
前提2举行过滤
select语句的实行递次与查询小结:
查询关键字的涌现递次是牢固的
select …要显现的内容… from …表名… where 前提…. group by …分组的列 …having …分组后的前提… order by …排序
select …5… from …1… where …2… group by …3…having …4… order by …6.
select product,sum(price) as总价 from orders where price>10 group by product having 总价>30 order by 总价 asc;
查询的实行递次
from : 表名
where:前提过滤
(定义别号)group by : 分组
(聚合函数实行)having : 分组以后举行过滤。
select :实行终了以后,查询内容。
order by : 排序输出显现.
以上就是MySQL基础语句操纵的总结的细致内容,更多请关注ki4网别的相干文章!