mysql学习一 常用语句
操作系统为windows
1 启动关闭mysql服务
//windows mysqld --console //开启mysql服务 mysqladmin -uroot shutdown //关闭mysql服务//linux(RPM安装方式) netstat -nlp //查看mysql服务的状态 service mysql start //开启mysql服务 service mysql stop //关闭mysql服务//linux(非RPM安装方式) netstat -nlp //查看mysql服务的状态 ./mysqld_safe & //开启mysql服务 mysqladmin -uroot shutdown //关闭mysql服务
2 登录和退出mysql
mysql -uroot -p //登录mysql quit //退出mysql
SQL语句主要有三类:DDL、DML、DCL2 DDL(Data Definition Languages)数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象。常用的语句关键字有:create、drop、alter等3 DML(Data Manipulation Language)数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性。常用的语句关键字有:insert、delete、update、select 等4 DCL(Data Control Language)数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了的数据库、表、字段、用户的访问权限和安全级别。常用语句关键字有:grant、revoke等
3 DDL(对数据库对象操作)
3.1 创建数据库
create database testZS; //创建数据库 show databases; //查看有哪些数据库 use testZS; //使用哪个数据库 show tables; //某个数据库下面有哪些表
3.2 删除数据库
drop database testZS;
3.3 创建表
use testZS; //表建在哪个数据库里面 create table emp( ename varchar(10), hiredate date, sal decimal(10,2), deptno int(2) );
3.4 删除表
drop table emp;
3.5 修改表
//修改表名 alter table emp rename emp1; //查看表结构 desc emp;//增加表字段 alert table emp add column age int(3); //删除表字段 alert table emp drop column age; //修改表字段名称 alter table emp change age age1 int(4); //修改表字段数据类型 alter table emp modify ename varchar(20); //改变字段排列顺序 alter table emp add birth date after ename; alter table emp add age int(3) first;
4 DML(对数据库对象的数据操作)
4.1 插入记录
insert into emp(ename,hiredate,sal,deptno) values('zs','2018-01-01','2000',1);insert into emp(ename,sal,deptno) values('zs1','2000',2);//批量插入insert into emp(ename,hiredate,sal,deptno) values('zs2','2018-01-01','2000',3),('zs3','2018-01-01','5000',4);
4.2 删除记录
delete from emp where sal='5000';//多表删除 多个表的删除的条件需要对方的情况下 delete from emp a,dept b where a.deptno=b.deptno and a.deptno=3;
4.3 更新记录
update emp set sal=4000 where ename='zs3';//多表更新 这种更新是更新的情况需要根据另一个表作为依据来更新 update emp a,dept b set a.sal=a.sal*b.deptno,b.deptname=a.ename where a.deptno=b.deptno;
4.4 查询记录
//1 查询所有字段,所有记录(条) select * from emp;//2 查询某些字段,所有记录(条) select ename,deptno from emp;//3 查询不重复的记录 select distinct deptno from emp;//4 多条件查询 select * from emp where deptno=1;//5 排序 desc 降序 asc 升序 默认升序 select * from emp order by sal; select * from emp order by sal desc,deptno asc;//6 限制记录数量 偏移量0开始 select * from emp limit 2; //前2条记录 select * from emp limit 1,2; //从第2条开始的2条记录(包括第二条)//7 聚合 (统计) select [field1,field2,...,fieldn] fun_name from tablename [where where_contdition] [group by field1,field2,...,fieldn] [with rollup] [having where_condition] fun_name:聚合函数 group by 分组 with rollup 是否对分类聚合后的结果进行再汇总 having 对分类后的结果进行条件过滤select * from emp; select deptno,count(1) from emp group by deptno; select deptno,count(1) from emp group by deptno with rollup; select deptno,count(1) from emp group by deptno having count(1)>1;//空字符串'' 和null是不一样的。如果你输入的时候没有特别指定,存入就是null,但是如果指定'',则就是空字符串。//常用所有聚合函数 sum(expr):求和 avg(expr):求平均数 count(expr):计数器,返回SELECT语句检索到的行中非NULL值的数 COUNT(DISTINCT), max(expr) 获取最大值 min(expr) 获取最小值 GROUP_CONCAT(expr):按照分组,将expr字符串按逗号分隔,组合起来 //8 记录联合 union(去重)、union all
//查询所有字段,所有记录(条) select * from emp;//查询某些字段,所有记录(条) select ename,deptno from emp;//1 查询不重复的记录 select distinct deptno from emp;//2 多条件查询 select * from emp where deptno=1;//3 排序 desc 降序 asc 升序 默认升序 select * from emp order by sal; select * from emp order by sal desc,deptno asc;//4 限制记录数量 偏移量0开始 select * from emp limit 2; //前2条记录 select * from emp limit 1,2; //从第2条开始的2条记录(包括第二条)//5 聚合 (统计) select [field1,field2,...,fieldn] fun_name from tablename [where where_contdition] [group by field1,field2,...,fieldn] [with rollup] [having where_condition] fun_name:聚合函数 group by 分组 with rollup 是否对分类聚合后的结果进行再汇总 having 对分类后的结果进行条件过滤select * from emp; select deptno,count(1) from emp group by deptno; select deptno,count(1) from emp group by deptno with rollup; select deptno,count(1) from emp group by deptno having count(1)>1;//空字符串'' 和null是不一样的。如果你输入的时候没有特别指定,存入就是null,但是如果指定'',则就是空字符串。 //!=2 不包括null,但是包括空字符串//常用所有聚合函数 sum(expr):求和 avg(expr):求平均数 count(expr):计数器,返回SELECT语句检索到的行中非NULL值的数 COUNT(DISTINCT), max(expr) 获取最大值 min(expr) 获取最小值 GROUP_CONCAT(expr):按照分组,将expr字符串按逗号分隔,组合起来//6 表连接内链接 查询匹配的情况 外连接 查询匹配和不匹配的情况 左连接、右连接//7 内链接 select ename,deptname from emp,dept where emp.deptno=dept.deptno; //左连接 select ename,deptname from emp left join dept on emp.deptno=dept.deptno; //右连接 select ename,deptname from emp right join dept on emp.deptno=dept.deptno;//子查询 select * from emp where deptno in(select deptno from dept);
1 限制
2 count(1),count(字段),count(distinct)
count(1) 所有记录统计值(包含null)
count(字段) 字段不为null的记录统计值(不包含null)
count(distinct) 不重复的记录(不包含null)
3 with rollup
group_concat
5 DCL(对数据库对象的权限操作) DBA干的活。略
6 视图
//创建视图 create or replace view viewname as select * from emp;//from后面不能有子查询//修改视图------一般不用//更新视图-----一般不用//删除视图 drop viewname;//查询视图定义 show create view viewname;
7 常用运算符
至于:优先级,没必要,用()这玩意解决问题,清晰明了!
8 常用函数
8.1 聚合函数
8.2 字符串函数
注意:lpad和rpad(如何填充的)
注意:repeat
注意:substring(从1开始)
8.3 数值函数
8.4 日期和时间函数
日期:年月日
时间:时分秒
当前日期,当前时间,当前日期和时间
日期和unix时间戳转换
date_format
%U和%u (不懂)
date_add
8.5 控制流函数
8.6 其它
查看当前用户
附录:(都去mysql官网上找吧~)
1 所有聚合函数:略
2 mysql中所有运算符:略
3 mysql中所有通配符:百分号、下划线和escape
mysql中的正则表达式:略
转载于:https://www.cnblogs.com/haiqin/p/9219575.html
mysql学习一 常用语句相关推荐
- mysql学习笔记(常用语句)
mysql学习总结: 1.启动 mysql -uusername -ppassword 2.切换数据库 use databasename 3.创建数据库 create database name 4. ...
- MySQL学习记录—常用语句集
文章目录 修改表名 修改表选项 修改字段名 修改字段类型 修改字段默认值 添加字段 删除字段 SELECT SELECT 子查询语句 LIKE 模糊查询 IN 和 NOT IN 范围查询 ORDER ...
- [MySQL学习]常用SQL语句大全总结
转载地址:http://www.cnblogs.com/0351jiazhuang/p/4530366.html SQL是(Structured Query Language)结构化查询语言的简称,下 ...
- dos命令操作mysql数据库的常用语句
一.连接MYSQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1. 连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u roo ...
- MySQL学习笔记04-DDL语句学习
目录 07.DDL语句学习 7.1.库和表的管理 库的管理 库的创建:CREATE 库的修改:ALTER 库的删除:DROP 表的管理 表的创建:CREATE 表的修改:ALTER 表的删除:DROP ...
- MySQL学习笔记——基础语句
MySQL默认端口号为3306: 超级用户为root: MySQL常用命令 显示当前服务器版本:select version(); 显示当前日期时间:select now(); 显示当前用户:sele ...
- MySQL 手工注入常用语句
判断是否存在SQL注入 ' and 1=1 and 1=2 暴字段长度 Order by 数字 匹配字段 and 1=1 union select 1,2,..,n 暴字段位置 and 1=2 uni ...
- MySQL学习笔记--常用存储引擎InnoDB与MyISAM总结
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.MyISAM 特性 1. 并发性与锁级别 2. 表损坏修复 3. MyISAM表支持的索引 4. MyISAM表支持压缩 ...
- SQL学习_常用语句参考
1. selct语句的使用 SELECT * FROM 表名称 SELECT LastName,FirstName FROM Persons2. distinct的使用,返回无重复值 SELECT D ...
- Mysql学习笔记(查询语句练习题1)
表格详情: student表: teacher表: course表: score表: Mysql查询语句练习: 1.查询Student表中的所有记录的Sname.Ssex和Class列 select ...
最新文章
- java.lang.NoSuchMethodError: org.apache.log4j.Logger.isTraceEnabled()Z
- Ubuntu 下编译ffmpeg和x264解编码器(翻译的一篇文章:)
- python 比较list差异
- 我的奔腾B50 MT豪华版 典雅灰 – 验车篇
- 注意力机制可视化_目标跟踪中的(STAM)时空注意力机制
- Python | threading03 - 使用条件对象,实现线程间的同步
- form表单重复提交
- Windows配置Gtkmm开发环境(with codeblocks)
- @WebService作用
- Android JSON 解析库的使用 - Gson 和 fast-json
- 语音通话视频通话前端_无需互联网即可进行数十亿视频通话
- RGB图片和mask合在一起
- 太阁5 800人物 喜好
- 【js】判断时间段之间是否有重叠
- 欢迎使用Windows安装MySQL(安装版)教程,全网最细
- Oracle开发者中级第7课(层级查询)实验
- 作业练习2:类与数据结构
- astar不能用了_“早C晚A”?做完功课我发现:并不是所有人都能用对
- R包circlize:柱状图用腻了?试试好看的弦状图
- 基于Cartographer的建图与导航
热门文章
- 设计模式GOF23之单例模式
- 远程计算机统考试题,2015年电大远程网络教育计算机应用基础统考模拟试题集...
- sqlite3怎么筛选一个月之前的_怎么查询指定日期 和 这个日期 之前一个月前的数据...
- html实现圆形计时器特效,js css3圆形的时分秒计时器动画特效
- java集合-TreeSet排序方式
- 多人在线答题游戏 小程序 (规划设计方案)
- Jenkins 多服务器自动部署,发布到多台服务器
- CentOS 7.2 卸载 Mysql 、Windowns 上卸载 Mysql
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-2.快速搭建SpringBoot项目,采用IDEA...
- 小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_18、SpringBoot测试进阶高级篇之MockMvc讲解...