设为首页 加入收藏

TOP

MySql(一):基本操作
2019-09-17 18:17:48 】 浏览:22
Tags:MySql 基本操作

  sql语句其实不难,尤其对于那些英语稍好一些的人来说!

最最最重要的就是搞清楚sql语句的执行顺序!!!数据就像沙子, 语句就是筛子, 沙子按照顺序经过给定的筛子,留下来的就是你要的!!!

并不是写在前面的就先执行!!! 如下:

SELECT *, SUM(pnum) '商品总数量' (4)

FROM products (1)

GROUP BY con (2)

HAVING SUM(pnum) > 200; (3)

这句sql语句其实是先执行 (1) FROM products 从products表中筛选所有数据

再执行(2) GROUP BY con 将数据按照con字段进行分组

再执行(3) HAVING SUM(pnum) > 200 筛选出pnum总数大于200的分组

最后执行(4) SELECT * , SUM(pnum) 将层层过滤的数据显示出来

注意: 顶哥较懒, 下文的sql语句统统小写啦

如遇诸如 : Incoreect string value : ..... 之类的报错请通过以下sql语句查看自己的数据库默认编码是否和输入环境的编码一致:

SHOW VARIABLES LIKE 'character%';

l 数据定义语言:简称DDL(Data Definition Language),用来定义数据库对象:数据库, 表, 列等. 关键字: create , alter , drop 等

l 数据操作语言:简称 DML(Data Manipulation Language), 用来对数据库中表的记录进行更新. 关键字:insert , delete, update等

l 数据控制语言:简称 DCL(Data Control Language), 用来定义数据库的访问权限和安全级别,及创建用户

l 数据查询语言:简称DQL(Data Query Language), 用来查询数据库中表的记录. 关键字:select, from, where 等

 

DDL --database相关操作

 

create database demo; # 创建名为demo的数据库(默认编码)

create database if not exists demo; # 不存在则创建demo数据库

create database demo character set ‘gbk’; # 创建名为demo gbk编码的数据库

? show databases; # 列出mysql服务器中所有的数据库

? show create database demo; # 查看demo数据库的定义信息

? crop database demo; # 删除数据库demo

? select database(); # 查看正在使用的数据库

? use demo; # 使用demo 数据库

 

DDL—table相关操作

? create table demo( # 创建demo表, 指定 id 字段为主键约束,

? id int primary key, # name 字段为非空约束

? name varchar(12) not null

? );

? create table demo1 like demo; # 创建demo1表,表结构和demo表相同

? show tables ; # 查看数据库中所有的表

? desc demo; # 查看demo表的结构(Tips:为何是desc? describe是秒速的意思!

? drop table demo; # 删除demo表

? drop table if exists demo; # demo表存在则删除

? alter table demo add address varchar(20); # 为demo表增加地址字段

alter table demo modify address varchar(30); # 修改表中字段的类型长度

? alter table demo change address addr varchar(30); # 修改表中字段名

? alter table demo drop addr; # 删除表中的字段

? rename table demo to dmeo1; # 将demo表重命名为demo1

? alter tabel demo1 character set 'gbk'; #将demo1表的编码修改为gbk

DML 相关操作

插入表记录: insert

insert into demo(id, name) values(1, "song");

insert into demo(id) values(2); # 无数据字段会使用null

更新表记录:update

update demo set id = 1, name = 'song'; # 将demo表中记录全部更新

update demo name = 'hui' where id = 2; # 将id为2的记录名字更新为hui

删除表记录

delete from demo; # 删除demo表中的所有数据

delete from demo where name = 'song'; # 删除demo表中name为song的记录

truncate table demo; # 摧毁demo表并重建同结构的表

DQL 相关操作

select * from demo ; # 查询demo表中所有的数据

select id, name from demo; # 查询demo表中id 和 name 列的数据

select id as 编号, name as 姓名 from demo as 学生表; # 使用别名,as 可以省略

select distinct name, age from demo; # 去除重复值

select math + english 总成绩 from student; # 从学生表中查询熟悉和英语的总分并使用别名

select name , age + 10 from student; # 查询姓名年龄,并将每个人的年龄增加10岁

select * from student where math > 100 or english > 100; # 查询任意一科超过100的学生

select * from student where name like '_宋%宝'; # 查询所有名字第二个字是宋且以宝结尾的学生

select * from student where age > 12 order by id asc, age desc; # 查询年龄大于12的按照id升序排序显示,id一样时按照年龄降序排序

select max(age) from student; # 查询学生表中年龄最大的

select * from student where age > 18 group by sex having name is not null; # 查询 年龄大于18的按照性别进行分组,且姓名不为空的记录

Tips: having 和where的区别:

having 是在分组后对数据进行过滤

where 是在分组前对数据进行过滤

having 后面可以使用聚合函数

where 后面不可以使用聚合函数

select * from student limit 0, 3 ; # 查询索引从0开始,共3条记录

Tips: 起始索引 = (当前页页码数 -1 ) * 每页显示条数

#查询第一页的数据信息

select * from sudent limit 0, 3;

#查询第二页的数据信息

select * from student limit 3, 3;

 

可关注公众号,随时随地查阅相关文章

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇oracle学习笔记(八)——结果集.. 下一篇Redis string类型常用操作

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目