最初学习mysql的一些操作留存
一:数据库的初始话操作
mysql -u root -p //数据库的登陆
show databases; //展现数据哭中存储的所有文件
use 数据库名; //进入当前要错做的数据库中
creat database 数据库名; //创建一个新的数据库文件
drop database 数据库名; //删除已经存在数据库文件
二:数据库的表操作
//为当前选定的数据库创建一个表
create table t_user(
id int,
name varchar(20),
sal double(5,3),
birthday datetime,
hiredata timestamp
);
show tables;//查看所有表名
desc 表名; //查看表名中存放的数据
drop table 表名;//删除选择的表
alter table 表名 add 列名 类型;//给选定的表增加一行新的信息
alter table t_user add newname varchar(20);
alter table 表名 modify 列名 类型;//将原有的列类型进行修改
alter table t_user modify newname photh;
alter table 表名 change 旧的列名 新的列名 数据类型;//将列名更改
alter table t_user change newname image varchar(20);
alter table 表名 drop 列名;
alter table t_user drop image;
rename table 旧表名 to 新表名;
rename table t_user to t_empoyee;
三:列的约束
保证数据的完整性
1、非空约束 not null 指定非空约素的列,再插入记录时,必须包含值。
2、唯一约束 unique 该列的内容在表中,值是唯一的
3、主键约束 primary key
当想要吧某一列的值,作为该列的唯一标识符,可以指定主键约素。
注意:一张表中只能有一个主键约素
四:对表中的数据进行增删改查
1、为表添加数据
insert into 表名[(列名1,列名2)] values (值1,值2);
insert into t_user(name,email) values('tom','tom@163.com');
insert into t_user valuse ('神殇','1179672922');
修改存储编码:
set character_set_client=gbk;
修改结束数据
set character_set_results=gbk;
2、修改表中存储的数据
update 表名 set 列名='新的数据',列名='新的数据' while 条件
update 表名 set name='新的数据' while id=3;
上面的翻译:当数据库中某项内容的id 为3的时候将这一项中的name存储的信息修改为‘新的数据’
多项那内容修改:
update employee set salary=4000,job='sss' while name='zs';
对未知属性修改
update employee set salary=salary+1000,job='ddd' while name='ww';
3、删除表记录
delete from 表名 while 条件
delete from emeployee while name='rose';//删除指定的表数据
delete from employee; //删除表中的所有数据-->注意这种删除不是在文件中完全删除,可以进行恢复
实例:
delete from employee while name="ww";
删除整张表的数据:
truncate table employee; //-->注意这种删除是从硬盘上将表数据完全删除掉,不可恢复
。;
4、DQL语句(DML) 查询语句 --> 重点
语法:
select selection_list 要查询的列名称
from table_list 要查询的表名称
while condition 行条件
group by grouping_columns 对结果分组
having condition 分组后的行条件
order by sorting_colums 对结果排序
limit offset_start, row_count 结果限定
自己使用实例:
1、select * from 表名 // 查询表中的所有数据
select 列名,... from 表名//查询表中某一列或多列的数据
条件查询:
条件查询就是在查询时给出WHERE子句,在WHERE子句中可以使用如下运算符及关键字:
? =、!=、<>、<、<=、>、>=;
? BETWEEN…AND;
? IN(SET)/NOT IN(SET) //set表示集合,代表多种条件的判断的集合
? IS NULL/IS NOT NULL
//---条件连接符
? AND; &&
? OR; ||
? NOT; !
例子:查询性别为女,并且年龄小于50的记录
select * from stu where gender='female' and age<50;
模糊查找
where 字段 like '表达式';
% => 通配 通配任意个字符(指的是任意长度的任意一段字符)
_ => 通配 通配单个字符 (值得是一个长度的任意一个字符)
说明:like 条件后 根据模糊查询表达式,"_"==>代表一个任意字符
排序
关键词:order by
升序:asc
降序:desc
语法:列名 order by 升降序
limit mysql专属语言
limit用于限定查询结果的起始行,以及总行数
例子:
查询5行记录,从0行开始
select * from emp limit 0,5;
查询10行记录,从3行考试
select * from emp limit 3,10;
如果一页记录为5条,希望查看第3页记录:
select * from limit 10,5;
3.1查询姓名由5个字母构成的学生记录
SELECT * FROM stu WHERE sname LIKE "_____";
3.2查询姓名由5个字母构成,并且第5个字母为“i”的学生记录
SELECT * FROM stu WHERE sname LIKE "____i";
3.3 查询姓名以“z”开头的学生记录
说明: "%"该通配符匹配任意长度的字符.
SELECT * FROM stu WHERE sname LIKE "z%";
3.4查询姓名中第2个字母为“i”的学生记录
SELECT * FROM stu WHERE sname LIKE "_i%";
3.5 查询姓名中包含“a”字母的学生记录
SELECT * FROM stu WHERE sname LIKE "%a%";
4.1 去重重复记录
SELECT DISTINCT gender FROM stu;
4.2 查看雇员的月薪与佣金之和
SELECT ename,sal+comm FROM emp;
SELECT ename,sal+IFNULL(comm,0) AS "月收入" FROM emp;
4.3 给列名添加别名
SELECT ename "姓名",sal+IFNULL(comm,0) "月收入" FROM em
SELECT ename AS "姓名",sal+IFNULL(comm,0) AS "月收入" FROM emp;
5.1 查询所有学生记录,按年龄升序排序
SELECT * FROM stu ORDER BY age ASC;
5.2 查询所有学生记录,按照年龄降序排序
SELECT * FROM stu ORDER BY age DESC;
5.3 查询所有雇员,按月薪降序排序,如果月薪相同时,按编号升序排序
SELECT * FROM emp ORDER BY sal DESC , empno ASC;
SHOW DATABASES;
USE SECOND;
SHOW TABLES;
DESC emp;
SELECT * FROM emp;
6.1 COUNT
当需要总想统计时可以使用count().
1>查询emp表中记录数:
SELECT COUNT(*) FROM emp;
2>查询emp表中有佣金的人数:
SELECT COUNT(*)"数量" FROM emp WHERE comm IS NOT NULL AND comm>0;
3>查询emp表中月薪大于2500的人数:
SELECT COUNT(*)"人数" FROM emp WHERE sal>2500;
4>统计月薪与佣金纸盒大于2500的人数:
SELECT COUNT(*)"人数" FROM emp WHERE sal+IFNULL(comm,0) >2500;
5>查询有佣金的人数并且有领导的人数:
SELECT COUNT(*) FROM emp WHERE comm IS NOT NULL AND comm!=0 AND mgr IS NOT NULL;
6.2 SUM(计算总和)和 AVG(计算平均值)
当需要纵向求和使用 SUM()函数
1>查询所有雇员月薪和:
SELECT SUM(sal)"月薪和" FROM emp;
2>查询所有雇员月薪和,以及所有雇员佣金和:
SELECT SUM(sal),SUM(comm) FROM emp;
3>查询所有雇员月薪+佣金和:
SELECT SUM(sal)+SUM(comm)"总和" FROM emp;
4>统计所有员工平均工资
SELECT AVG(sal)平均工资 FROM emp;
6.3 MAX 和 MIN
查询最高工资个最低工资
SELECT MAX(sal),MIN(sal) FROM emp;
查询每个部门编号和每个部门的工资和
SELECT deptno,SUM(sal) FROM emp GROUP BY deptno;
查询每个部门的编号及每个部门的人数:
SELECT deptno,COUNT(empno) FROM emp GROUP BY deptno;
查询每个部门的编号及每个部门工资大于1500的人数
SELECT deptno,COUNT(sal>1500) FROM emp GROUP BY deptno;
SELECT deptno,COUNT(empno) FROM emp WHERE sal>1500 GROUP BY deptno ;
查询工资总和大于9000的部门编号及工资总和
SELECT deptno,SUM(sal) FROM emp GROUP BY deptno HAVING SUM(sal)>9000;
最初学习mysql的一些操作留存的更多相关文章
- Database学习 - mysql 数据库 表操作
mysql 数据库 表操作 创建数据表 基本语法格式: 创建数据表: create table 表名( 字段名 datatype 约束, 字段名 datatype 约束, ...... ) 修改表名 ...
- 学习MySQL之数据库操作(一)
所有代码,均为自学时用到的测试与注释,知识细节或知识点不会面面俱到,亦不会有任何讲解,只做为自己学习复习用. ##数据库操作 ##创建数据库 myTest ,并将数据库字符集设为GBK CREATE ...
- Database学习 - mysql 数据库 数据操作
mysql数据操作 查询语法 select * | field1,field1 ... from 表名 where 条件 group by 字段 having 筛选 order by 字段 limit ...
- Database学习 - mysql 连接数据库 库操作
连接数据库 语法格式: mysql -h 服务器IP -P 端口号 -u用户名 -p密码 --prompt 命令提示符 --delimiter 指定分隔符 示例: mysql -h 127.0.0.1 ...
- Database学习 - mysql 数据库 事务操作
事务 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功. 数据库开启事务命令: start transaction 开启事务 rollback 回滚事务,即撤销指定的 ...
- mysql之字符串操作
写在前面 上篇文章学习了mysql常用的日期操作的函数,这篇文章将学习mysql的字符串操作的函数. 系列文章 mysql之创建数据库,创建数据表 mysql之select,insert,delete ...
- MySql学习 (一) —— 基本数据库操作语句、三大列类型
注:该MySql系列博客仅为个人学习笔记. 在使用MySql的时候,基本都是用图形化工具,如navicat.最近发现连最基本的创建表的语法都快忘了... 所以,想要重新系统性的学习下MySql,为后面 ...
- MySQL学习(一): MySQL的初步操作与命令
启动与关闭: 用管理员身份运行cmd 启动:net start mysql57 其中mysql57是我的MySQL名称,版本不同名称可能不一样 关闭:net stop mysql57 与上面同理 登录 ...
- 烂泥:学习mysql数据库主从同步复制原理
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 说明本篇文章部分转载自互联网. MySQL的Replication(英文为复制)是一个多MySQL数据库做主从同步的方案,特点是异步复制,广泛用在各种对 ...
随机推荐
- javaIO——PipedReader 和 PipedWriter 实现模拟即时聊天
上一篇学习了javaIO里面的 PipedReader 和 PipedWriter,这里对两个类做一个小小的练习:实现一个即时消息发送和接收的聊天系统(这里只实现单向发送,双向同理,定义两个管道即可) ...
- Nginx笔记一
nginx: 为什么选择nginx: nginx是一个高性能的web和反向代理服务器. 作为web服务器:使用更少的资源,支持更多的并发连接,更高的效率,能够支持高达5w个并发连接数的相应, 作为 ...
- 1.SpringMVC 概述
SpringMVC 简介 SpringMVC 也叫 Spring web mvc ,属于表现层的框架.SpringMVC 是 Spring框架的一部分,是在Spring3.0后发布的 第一个Sprin ...
- Java中接口是否可以继承多个接口?
可以. 接口是常量值和方法定义的集合.接口是一种特殊的抽象类. java类是单继承的.classB Extends classA java接口可以多继承.Interface3 Extends Inte ...
- 【Distributed】互联网安全架构
一.常见Web安全漏洞 1.1 XSS攻击 什么是XSS攻击手段 如何防御XSS攻击 1.2 SQL注入攻击 什么是SQL注入 SQL注入防攻击手段 MyBatis #与$区别 1.3 Http请求防 ...
- SiteOmat
卡巴斯基实验室高级安全研究员Ido Naor和以色列安全研究员Amihai Neiderman在卡巴斯位于墨西哥坎昆举行的安全分析师峰会期间,就加油站的安全问题展开了全面分析.他们的研究表明,攻击者可 ...
- 3.Bacula Client安装配置
1. Bacula Client安装配置 1.1. linux客户端安装 1.1.1. 安装依赖包 yum install libacl libacl-devel 1.1.2. Clien ...
- Hive2.0常用函数(对编辑器很无语😓)
Hive内部提供了很多函数给开发者使用,包括数学函数,类型转换函数,条件函数,字符函数,聚合函数,表生成函数等等,这些函数都统称为内置函数. 参考:https://cwiki.apache.org/c ...
- golang shell 交叉编译
#!/usr/bin/env bash set -e uname_s=`uname -s | awk '{print tolower($0)}'` uname_m=`uname -m` timeTag ...
- ClassLoader源码分析与实例剖析
在之前已经对类加载器做了不少实验了,这次主要是来分析一下ClassLoader的源码,当然主要是先从理解官方给它的注释开始,为之后自定义类加载器打好坚石的基础,下面开始: 而从类的层次结构来看也能感受 ...