文档章节

MySQL 的相关语句(增删改查)(SQLyog软件实现)

Jusenr
 Jusenr
发布于 2016/05/17 00:24
字数 1898
阅读 10
收藏 0
点赞 2
评论 0
-- 创建雇员表:emp
CREATE TABLE emp(
    empno        INT,        -- 员工编号
    ename        VARCHAR(50),    -- 员工姓名
    job        VARCHAR(50),    -- 员工工作
    mgr        INT,        -- 领导编号
    hiredate    DATE,        -- 入职日期
    sal        DECIMAL(7,2),    -- 月薪
    comm        DECIMAL(7,2),    -- 奖金
    deptno        INT        -- 部分编号
) ;

-- 添加数据
INSERT INTO emp VALUES(7369,'SMITH','CLERK',7902,'1980-12-17',800,NULL,20);
INSERT INTO emp VALUES(7499,'ALLEN','SALESMAN',7698,'1981-02-20',1600,300,30);
INSERT INTO emp VALUES(7521,'WARD','SALESMAN',7698,'1981-02-22',1250,500,30);
INSERT INTO emp VALUES(7566,'JONES','MANAGER',7839,'1981-04-02',2975,NULL,20);
INSERT INTO emp VALUES(7654,'MARTIN','SALESMAN',7698,'1981-09-28',1250,1400,30);
INSERT INTO emp VALUES(7698,'BLAKE','MANAGER',7839,'1981-05-01',2850,NULL,30);
INSERT INTO emp VALUES(7782,'CLARK','MANAGER',7839,'1981-06-09',2450,NULL,10);
INSERT INTO emp VALUES(7788,'SCOTT','ANALYST',7566,'1987-04-19',3000,NULL,20);
INSERT INTO emp VALUES(7839,'KING','PRESIDENT',NULL,'1981-11-17',5000,NULL,10);
INSERT INTO emp VALUES(7844,'TURNER','SALESMAN',7698,'1981-09-08',1500,0,30);
INSERT INTO emp VALUES(7876,'ADAMS','CLERK',7788,'1987-05-23',1100,NULL,20);
INSERT INTO emp VALUES(7900,'JAMES','CLERK',7698,'1981-12-03',950,NULL,30);
INSERT INTO emp VALUES(7902,'FORD','ANALYST',7566,'1981-12-03',3000,NULL,20);
INSERT INTO emp VALUES(7934,'MILLER','CLERK',7782,'1982-01-23',1300,NULL,10);


-- 创建学生信息表:stu
CREATE TABLE stu(
    sid    CHAR(6),    -- 学生学号
    sname    VARCHAR(50),    -- 学生姓名
    age    INT,        -- 学生年龄
    gender    VARCHAR(50)    -- 学生性别
);

-- 添加数据
INSERT INTO stu VALUES('S_1001', 'liuYi', 35, 'male');
INSERT INTO stu VALUES('S_1002', 'chenEr', 15, 'female');
INSERT INTO stu VALUES('S_1003', 'zhangSan', 95, 'male');
INSERT INTO stu VALUES('S_1004', 'liSi', 65, 'female');
INSERT INTO stu VALUES('S_1005', 'wangWu', 55, 'male');
INSERT INTO stu VALUES('S_1006', 'zhaoLiu', 75, 'female');
INSERT INTO stu VALUES('S_1007', 'sunQi', 25, 'male');
INSERT INTO stu VALUES('S_1008', 'zhouBa', 45, 'female');
INSERT INTO stu VALUES('S_1009', 'wuJiu', 85, 'male');
INSERT INTO stu VALUES('S_1010', 'zhengShi', 50, 'female');
INSERT INTO stu VALUES('S_1011', 'xxx', NULL, NULL);

-- 创建部分表:dept
CREATE TABLE dept(
    deptno    INT,        -- 部分编码
    dname    VARCHAR(14),    -- 部分名称
    loc    VARCHAR(13)    -- 部分所在地点
);

-- 添加数据
INSERT INTO dept VALUES(10, 'ACCOUNTING', 'NEW YORK');
INSERT INTO dept VALUES(20, 'RESEARCH', 'DALLAS');
INSERT INTO dept VALUES(30, 'SALES', 'CHICAGO');
INSERT INTO dept VALUES(40, 'OPERATIONS', 'BOSTON');


-- 查询所有列
SELECT * FROM stu;

-- 删除数据
DELETE FROM stu WHERE sid = 'sunQi' ;

-- 查询指定列
SELECT sname,age FROM stu;

-- 查询性别为女,并且年龄为50的记录
SELECT * FROM stu WHERE gender='female' AND age=50;

-- 查询学号为S_1001,或者姓名为liSi的记录
SELECT * FROM stu WHERE sid='s_1001' OR sname='lisi';

-- 查询学号为S_1001,S_1002,S_1003的记录
SELECT * FROM stu WHERE sid IN ('s_1001','s_1002','s_1003' );

-- 查询学号不是S_1001,S_1002,S_1003的记录
SELECT * FROM stu WHERE sid NOT IN ('s_1001','s_1002','s_1003' );

-- 查询年龄为null的记录
SELECT * FROM stu WHERE age IS NULL;

-- 查询年龄在20到40之间的学生记录
SELECT * FROM stu WHERE age BETWEEN 20 AND 40; -- 或者
SELECT * FROM stu WHERE age>=20 AND age<=40;

-- 查询性别非男的学生记录
SELECT * FROM stu WHERE gender !='male'; -- 或者
SELECT * FROM stu WHERE gender <>'male';

-- 查询姓名不为null的学生记录
SELECT * FROM stu WHERE sname IS NOT NULL; -- 或者
SELECT * FROM stu WHERE NOT sname IS NULL;

-- 查询姓名由5个字母构成的学生记录
SELECT * FROM stu WHERE sname LIKE '_____';

-- 查询姓名由5个字母构成,并且第5个字母为“i”的学生记录
SELECT * FROM stu WHERE sname LIKE '____i';

-- 查询姓名以“z”开头的学生记录
SELECT * FROM stu WHERE sname LIKE 'z%';

-- 查询姓名中第2个字母为“i”的学生记录
SELECT * FROM stu WHERE sname LIKE '_i%';

-- 查询姓名中包含“a”字母的学生记录
SELECT * FROM stu WHERE sname LIKE '%a%';

-- 去除重复记录
SELECT DISTINCT * FROM stu;


-- 查询所有列
SELECT * FROM emp;

-- 查看雇员的月薪与佣金之和
SELECT *,sal+comm FROM emp; -- 或者
SELECT *,sal+IFNULL(comm,0) FROM emp;

-- 给列名添加别名
SELECT *, sal+IFNULL(comm,0) AS total FROM emp; -- 或者
SELECT *,sal+IFNULL(comm,0) total FROM emp;

-- 查询所有学生记录,按年龄升序排序
SELECT * FROM stu ORDER BY age;
SELECT * FROM stu ORDER BY age ASC;

-- 查询所有学生记录,按年龄降序排序
SELECT * FROM stu ORDER BY age DESC;

-- 查询所有雇员,按月薪降序排序,如果月薪相同时,按编号升序排序
SELECT * FROM emp ORDER BY sal DESC,empno ASC;

-- 查询emp表中记录数
SELECT COUNT(*) AS cnt FROM emp;

-- 查询emp表中有佣金的人数
SELECT COUNT(comm) AS cnt FROM emp;

-- 查询emp表中月薪大于2500的人数
SELECT COUNT(*) AS cnt FROM emp WHERE sal > 2500;

-- 统计月薪与佣金之和大于2500元的人数
SELECT COUNT(*) AS cnt FROM emp WHERE sal+IFNULL(comm,0) > 2500;

-- 查询有佣金的人数,以及有领导的人数
SELECT COUNT(comm), COUNT(mgr) FROM emp;

-- 查询所有雇员月薪和
SELECT SUM(sal) FROM emp;

-- 查询所有雇员月薪和,以及所有雇员佣金和
SELECT SUM(sal),SUM(comm) FROM emp;

-- 查询所有雇员月薪+佣金和
SELECT SUM(sal+IFNULL(comm,0)) FROM emp;

-- 统计所有员工平均工资
SELECT AVG(sal) FROM emp;

-- 查询最高工资和最低工资
SELECT MAX(sal),MIN(sal) FROM emp;

-- 查询每个部门的部门编号和每个部门的工资和
SELECT deptno, SUM(sal) FROM emp GROUP BY deptno;

-- 查询每个部门的部门编号以及每个部门的人数
SELECT deptno, COUNT(*) AS cnt FROM emp GROUP BY deptno;

-- 查询每个部门的部门编号以及每个部门工资大于1500的人数
SELECT deptno, COUNT(*) FROM emp WHERE sal>1500 GROUP BY deptno;

-- 查询工资总和大于9000的部门编号以及工资和
SELECT deptno, SUM(sal) FROM emp GROUP BY deptno HAVING SUM(sal) > 9000;

-- 

-- 查询所有列
SELECT * FROM dept;

-- 创建学生信息表 student
CREATE TABLE student(
    sid         INT,        -- 学号
    sname         VARCHAR(20),    -- 姓名
    age        INT,        -- 年龄
    scores        INT,        -- 成绩
    gender        VARCHAR(6),    -- 性别
    birthday    DATE        -- 出生日期
);

-- 添加数据
INSERT INTO student(sid,sname,age,scores,gender) VALUES (0001,'张华',23,49,'');
INSERT INTO student(sid,sname,age,scores,gender,birthday) VALUES (0007,'孙萌',20,59,'','1997-02-24');
INSERT INTO student(sid,sname,age,scores,gender) VALUES (0002,'李四',28,69,'');
INSERT INTO student(sid,sname,age,scores,gender,birthday) VALUES (0009,'吴笑清',22,68,'','1994-11-02');
INSERT INTO student(sid,sname,age,scores,gender) VALUES (0003,'王小花',26,29,'');
INSERT INTO student(sid,sname,age,scores,gender,birthday) VALUES (0004,'赵六',22,85,'','1990-12-17');
INSERT INTO student(sid,sname,age,scores,gender,birthday) VALUES (0005,'钱雨',21,87,'','1992-03-30');
INSERT INTO student(sid,sname,age,scores,gender,birthday) VALUES (0006,'李四',25,83,'','1996-05-13');
INSERT INTO student(sid,sname,age,scores,gender,birthday) VALUES (0008,'周董',27,99,'','1995-07-23');
INSERT INTO student(sid,sname,age,scores,gender,birthday) VALUES (00010,'郑源',27,79,'','1994-08-23');

-- 查询所有列
SELECT * FROM student;

-- 删除表 student
DROP TABLE student;

-- 去除重复记录
SELECT DISTINCT * FROM student;

-- 显示mydb下的所有表
USE mydb; SHOW TABLES;

-- 

-- 创建表:定义列之后独立指定主键
CREATE TABLE stu1(
    sid        CHAR(6),
    sname    VARCHAR(20),
    age        INT,
    gender    VARCHAR(10),
    PRIMARY KEY(sid)
);

-- 创建表:指定主键且自增长
CREATE TABLE stu11(
    sid    INT(6) PRIMARY KEY AUTO_INCREMENT,
    sname    VARCHAR(20),
    age    INT,
    gender    VARCHAR(10)
);

-- 添加数据(表:stu1或者stu11)
INSERT INTO stu11(sname,age,gender) VALUE ('张三',23,'');
INSERT INTO stu11(sname,age,gender) VALUE ('李四',24,'');
INSERT INTO stu11(sname,age,gender) VALUE ('李思思',26,'');
INSERT INTO stu11(sname,age,gender) VALUE ('景甜',27,'');
INSERT INTO stu11(sname,age,gender) VALUE ('刘亦菲',29,'');
INSERT INTO stu11(sname,age,gender) VALUE ('刘诗诗',25,'');

-- 删除数据
DELETE FROM stu11 WHERE sname='刘诗诗';

-- 查询所有列
SELECT * FROM stu11;

-- 修改表时指定主键
ALTER TABLE stu ADD PRIMARY KEY(sid);

-- 修改表时设置主键自增长
ALTER TABLE stu11 CHANGE sid sid INT AUTO_INCREMENT;

-- 修改表时删除主键自增长
ALTER TABLE stu11 CHANGE sid sid INT;

-- 删除主键(只是删除主键约束,而不会删除主键列)
ALTER TABLE stu DROP PRIMARY KEY;

-- 

-- 创建用户信息表 user,并指定主键且自增长
CREATE TABLE USER(
    uid        INT PRIMARY KEY AUTO_INCREMENT,
    username    VARCHAR(32),
    userpassword    VARCHAR(32)    
);

-- 查询所有列
SELECT * FROM USER;

-- 删除表 
DROP TABLE USER;

-- 添加数据
INSERT INTO USER(username,userpassword) VALUE ('zhangsan','123');
INSERT INTO USER(username,userpassword) VALUE ('lisi','1234');
INSERT INTO USER(username,userpassword) VALUE ('wangwu','234');
INSERT INTO USER(username,userpassword) VALUE ('zhaoliu','1234');
INSERT INTO USER(username,userpassword) VALUE ('sisi','234');

-- 删除数据
DELETE FROM USER WHERE username='lisi';

 

© 著作权归作者所有

共有 人打赏支持
Jusenr
粉丝 0
博文 20
码字总数 10876
作品 0
西安
Android工程师
Mysql命令行模式如何导出查询结果数据

Mysql命令行模式如何导出查询结果数据 在日常的开发中,我们经常需要从数据库中导出数据。对于那种有图形化操作的,我们导出数据是非常方便的。比如SQLyog、Navicat这些工具可以直接将查询的...

xiaocao13140 ⋅ 06/15 ⋅ 0

window10环境下的MySQL安装和完全卸载

前言: 今天算是被MySQL给打败了。折腾了一下午加一晚上,费劲的很。官方文档也是很粗略的,没有具体的安装教程,也许是我没找到…… MySQL安装有两个方法: MySQL版本:8.0.11 两种方法 我都...

codingcoge ⋅ 06/05 ⋅ 0

MySQL:Database connections will be migrated官方说明

Database connections will be migrated Posted by: Max Hugen Date: May 23, 2017 07:22PM The Notifier has been popping up for the last couple of days with the msg: Database connect......

临江仙卜算子 ⋅ 06/04 ⋅ 0

node连接mysql数据库

开发环境 首先要搭建好node开发环境,这个网上有好多教程的。 其次要安装mysql模块。因为在node中没有自动集成mysql,所以要自己安装,在命令行中输入以下命令即可 npm install mysql 连接数...

尼阿卡 ⋅ 2016/04/19 ⋅ 0

第四节 -自己 DIY 一个数据库管理工具

本节介绍如何自己DIY一个数据库管理工具,可以在页面输入sql 进行简单的增删改查操作。 首先,找到xampp的安装目录,打开htdocs: 新建一个php文件,名称为 mysqladmin.php 1.编写php服务器代...

剽悍一小兔 ⋅ 04/28 ⋅ 0

php对数据库的增删改查操作

在我看来数据库是个既复杂又高深莫测的东西,但百分之八十左右的程序员都不需要去精通他,对于我们前端开发来说,只要会数据库的增删改查语句就差不多了。首先我们来说说sql的增删改查语句。...

马大哈tt ⋅ 2017/11/24 ⋅ 0

JDBC学习系列:使用JDBC对数据库进行CRUD

一、statement对象介绍     Jdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可。   Statement对象的execute...

HenrySun ⋅ 2016/10/04 ⋅ 0

如何写好简历呢

简历该如何写好,也是很关键的,下面是一个模版,也不知道怎么样,在智联招聘上看到的,拿来参考一下。 简历模板:Java工程师 智联招聘

aehyok ⋅ 2013/04/14 ⋅ 0

Python进阶(五十二)-Flask使用pymysql连接MySQL数据库

Python进阶(五十二)-Flask使用pymysql连接MySQL数据库 IDE说明 Python:3.5 Flask:0.12.1 Pymysql:0.7.10 MySQL:5.5 前言   之前在做Python Web开发时,选择的是Django框架,后台的自动化实...

sunhuaqiang1 ⋅ 2017/05/31 ⋅ 0

一:SQL语句 - 系统的撸一遍MySQL

MySQL中的SQL SQL(Structure Query Language)结构化查询语言,MySQL并没有完全实现ANSI/ISO的SQL标准,并且在基础上增加了一些扩展SQL语句比如LIMIT等。 SQL语句主要分为三类: DDL语句、D...

logbird ⋅ 2016/08/15 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

BS与CS的联系与区别【简】

C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、InFORMix或 SQL Server。客户端需要安装专用的客户端软件。 B/S是Brower/...

anlve ⋅ 50分钟前 ⋅ 0

发生了什么?Linus 又发怒了?

在一个 Linux 内核 4.18-rc1 的 Pull Request 中,开发者 Andy Shevchenko 表示其在对设备属性框架进行更新时,移除了 union 别名,这引发了 Linus 的暴怒。 这一次 Linus Torvalds 发怒的原...

问题终结者 ⋅ 今天 ⋅ 0

在树莓派上搭建一个maven仓库

在树莓派上搭建一个maven仓库 20180618 lambo init 项目说明 家里有台树莓派性能太慢。想搭建一个maven私服, 使用nexus或者 jfrog-artifactory 运行的够呛。怎么办呢,手写一个吧.所在这个...

林小宝 ⋅ 今天 ⋅ 0

Spring发展历程总结

转自与 https://www.cnblogs.com/RunForLove/p/4641672.html 目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢?...

onedotdot ⋅ 今天 ⋅ 0

Python模块/包/库安装(6种方法)

Python模块/包/库安装(6种方法) 冰颖机器人 2016-11-29 21:33:26 一、方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二、方法2: 多文件模块,带setup.py 下载模块包(压缩文件zip...

cswangyx ⋅ 今天 ⋅ 0

零基础学习大数据人工智能,学习路线篇!系统规划大数据之路?

大数据处理技术怎么学习呢?首先我们要学习Python语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。 Python:Python 的排名从去年开始就借助人工智能持续上升,现在它已经...

董黎明 ⋅ 今天 ⋅ 0

openJdk和sun jdk的区别

使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK, 那么到底什么是OpenJDK,它与SUN JDK有什么关系和区别呢? 历史上的原因是,Ope...

jason_kiss ⋅ 今天 ⋅ 0

梳理

Redux 是 JavaScript 状态容器,提供可预测化的状态管理。 它是JS的状态容器,是一种解决问题的方式,所以即可以用于 react 也可以用于 vue。 需要理解其思想及实现方式。 应用中所有的 stat...

分秒 ⋅ 今天 ⋅ 0

Java 后台判断是否为ajax请求

/** * 是否是Ajax请求 * @param request * @return */public static boolean isAjax(ServletRequest request){return "XMLHttpRequest".equalsIgnoreCase(((HttpServletReques......

JavaSon712 ⋅ 今天 ⋅ 0

Redis 单线程 为何却需要事务处理并发问题

Redis是单线程处理,也就是命令会顺序执行。那么为什么会存在并发问题呢? 个人理解是,虽然redis是单线程,但是可以同时有多个客户端访问,每个客户端会有 一个线程。客户端访问之间存在竞争...

码代码的小司机 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部