怎么使用mysql打表_MySQL的表使用

-- 创建表

CREATE TABLE teacher(

id INT,

NAME VARCHAR(20)

)

-- 查看所有表

SHOW TABLES;

DESC student;

DROP TABLE student;

CREATE TABLE student(

id INT,

NAME VARCHAR(20),

gender VARCHAR(2),

age INT

)

-- ********一、增删改数据********* ---

-- 1.1 增加数据

-- 插入所有字段。一定依次按顺序插入

INSERT INTO student VALUES(1,'张三','男',20);

-- 注意不能少或多字段值

-- INSERT INTO student VALUES(2,'李四','女');

-- 插入部分字段

INSERT INTO student(id,NAME) VALUES(2,'李四');

-- 1.2 修改数据

-- 修改所有数据(建议少用)

UPDATE student SET gender='女';

-- 带条件的修改(推荐使用)

UPDATE student SET gender='男' WHERE id=1; -- 修改id为1的学生,修改性别为男

-- 修改多个字段,注意: SET 字段名=值,字段名=值,....

UPDATE student SET gender='男',age=30 WHERE id=2;

-- 1.3 删除数据

-- 删除所有数据(建议少用)

DELETE FROM student;

-- 带条件的删除(推荐使用)

DELETE FROM student WHERE id=2;

-- 另一种方式

-- delete from: 可以全表删除 1)可以带条件删除 2)只能删除表的数据,不能删除表的约束 3)使用delete from删除的数据可以回滚(事务)

-- truncate table: 可以全表删除 1)不能带条件删除 2)即可以删除表的数据,也可以删除表的约束 3)使用truncate table删除的数据不能回滚

TRUNCATE TABLE student;

CREATE TABLE test(

id INT PRIMARY KEY AUTO_INCREMENT, -- 自增长约束

NAME VARCHAR(20)

)

DESC test;

-- 1.

DELETE FROM test;

-- 2

TRUNCATE TABLE test;

INSERT INTO test(NAME) VALUES('张三');

INSERT INTO test(NAME) VALUES('张三2');

INSERT INTO test(NAME) VALUES('张三3');

SELECT * FROM test;

-- truncate table student where id=2; 不能带条件

-- 查询数据

SELECT * FROM student;

-- ********二、查询数据(select)*******--

-- 2.1 查询所有列

SELECT * FROM student;

-- 2.2 查询指定列

SELECT id,NAME,gender FROM student;

-- 2.3 查询时指定别名(as)

-- 注意: 在多表查询是经常使用表的别名

SELECT id AS '编号',NAME AS '姓名' FROM student;

-- 2.4 查询时添加常量列

-- 需求: 在查询student表时添加一个班级列,内容为“java就业班”

SELECT id,NAME,gender,age,'java就业班' AS '年级' FROM student;

-- 2.5 查询时合并列

-- 需求: 查询每个学生的servlet和jsp的总成绩

SELECT id,NAME,(servlet+jsp) AS '总成绩' FROM student;

-- 注意:合并列只能合并数值类型的字段

SELECT id,(NAME+servlet) FROM student;

-- 2.6 查询时去除重复记录(DISTINCT)

-- 需求: 查询学生的性别 男 女

SELECT DISTINCT gender FROM student;

-- 另一种语法

SELECT DISTINCT(gender) FROM student;

-- 需求: 查询学生所在的地区

SELECT DISTINCT address FROM student;

-- 2.7 条件查询(where)

-- 2.7.1 逻辑条件: and(与) or(或)

-- 需求: 查询id为2,且姓名为李四的学生

SELECT * FROM student WHERE id=2 AND NAME='李四'; -- 交集

-- 需求: 查询id为2,或姓名为张三的学生

SELECT * FROM student WHERE id=2 OR NAME='张三'; -- 并集

-- 2.7.2 比较条件: > < >= <= = <>(不等于) between and (等价于>= 且 <=)

-- 需求: 查询servlet成绩大于70分的学生

SELECT * FROM student WHERE servlet>70;

-- 需求: 查询jsp成绩大于等于75,且小于等于90分的学生

SELECT * FROM student WHERE jsp>=75 AND jsp<=90;

-- 另一个语法

SELECT * FROM student WHERE jsp BETWEEN 75 AND 90; -- (包前包后)

SELECT * FROM student WHERE gender<>'男';

-- 2.7.3 判空条件(null 空字符串): is null / is not null / ='' / <>''

-- 需求: 查询地址为空的学生(包括null和空字符串)

-- null vs 空字符串

-- null:表示没有值

-- 空字符串:有值的!

-- 判断null

SELECT * FROM student WHERE address IS NULL ;

-- 判断空字符串

SELECT * FROM student WHERE address='';

SELECT * FROM student WHERE address IS NULL OR address=''; -- (包括null和空字符串)

-- 需求: 查询有地址的学生(不包括null和空字符串)

SELECT * FROM student WHERE address IS NOT NULL AND address<>'';

-- 2.7.4 模糊条件: like

-- 通常使用以下替换标记:

-- % : 表示任意个字符

-- _ : 表示一个字符

-- 需求: 查询姓‘张’的学生

SELECT * FROM student WHERE NAME LIKE '李%';

-- 需求: 查询姓‘李’,且姓名只有两个字的学生

SELECT * FROM student WHERE NAME LIKE '李_';

--- 练习 --

CREATE TABLE student2(

id INT,

NAME VARCHAR(20),

chinese FLOAT,

english FLOAT,

math FLOAT

);

INSERT INTO student2(id,NAME,chinese,english,math) VALUES(1,'张小明',89,78,90);

INSERT INTO student2(id,NAME,chinese,english,math) VALUES(2,'李进',67,53,95);

INSERT INTO student2(id,NAME,chinese,english,math) VALUES(3,'王五',87,78,77);

INSERT INTO student2(id,NAME,chinese,english,math) VALUES(4,'李一',88,98,92);

INSERT INTO student2(id,NAME,chinese,english,math) VALUES(5,'李来财',82,84,67);

INSERT INTO student2(id,NAME,chinese,english,math) VALUES(6,'张进宝',55,85,45);

INSERT INTO student2(id,NAME,chinese,english,math) VALUES(7,'黄蓉',75,65,30);

-- 查询表中所有学生的信息。

SELECT * FROM student2;

-- 查询表中所有学生的姓名和对应的英语成绩。

SELECT NAME,english FROM student2;

-- 过滤表中英语成绩的重复数据

SELECT DISTINCT(english) FROM student2;

-------------------------------------------------------

-- 使用别名表示学生分数。

SELECT NAME AS '姓名',chinese AS '语文',english AS '英语',math AS '数学' FROM student2;

-- 查询姓名为李一的学生成绩

SELECT * FROM student2 WHERE NAME='李一';

-- 查询英语成绩大于等于90分的同学

SELECT * FROM student2 WHERE english>=90;

-- 查询总分大于200分的所有同学

SELECT * FROM student2 WHERE (chinese+english+math)>200;

-- 查询所有姓李的学生英语成绩。

SELECT NAME,english FROM student2 WHERE NAME LIKE '李%';

-- 查询英语>80或者总分>200的同学

SELECT * FROM student2 WHERE english>80 OR (chinese+english+math)>200

-- 统计每个学生的总分。

SELECT id,NAME,(chinese+english+math) AS '总成绩' FROM student2;

-- 在所有学生总分数上加20分特长分。

SELECT id,NAME,(chinese+english+math+20) AS '总成绩' FROM student2;

SELECT * FROM student;

-- 2.8 聚合查询(使用聚合函数的查询)

-- 常用的聚合函数: sum() avg() max() min() count()

-- 需求:查询学生的servlet的总成绩 (sum() :求和函数)

SELECT SUM(servlet) AS 'servlet的总成绩' FROM student;

-- 需求: 查询学生的servlet的平均分

SELECT AVG(servlet) AS 'servlet的平均分' FROM student;--

-- 需求: 查询当前servlet最高分

SELECT MAX(servlet) AS '最高分' FROM student;

-- 需求: 查询最低分

SELECT MIN(servlet) AS '最低分' FROM student;

-- 需求: 统计当前有多少学生(count(字段))

SELECT COUNT(*) FROM student;

SELECT COUNT(id) FROM student;

-- 注意:count()函数统计的数量不包含null的数据

-- 使用count统计表的记录数,要使用不包含null值的字段

SELECT COUNT(age) FROM student;

SELECT * FROM student;

-- 2.9 分页查询(limit 起始行,查询几行)

-- 起始行从0开始

-- 分页:当前页 每页显示多少条

-- 分页查询当前页的数据的sql: SELECT * FROM student LIMIT (当前页-1)*每页显示多少条,每页显示多少条;

-- 需求: 查询第1,2条记录(第1页的数据)

SELECT * FROM student LIMIT 0,2;

-- 查询第3,4条记录(第2页的数据)

SELECT * FROM student LIMIT 2,2;

-- 查询第5,6条记录(第3页的数据)

SELECT * FROM student LIMIT 4,2;

-- 查询第7,8条记录 (没有记录不显示)

SELECT * FROM student LIMIT 6,2;

-- 2.10 查询排序(order by )

-- 语法 :order by 字段 asc/desc

-- asc: 顺序,正序。数值:递增,字母:自然顺序(a-z)

-- desc: 倒序,反序。数值:递减,字母:自然反序(z-a)

-- 默认情况下,按照插入记录顺序排序

SELECT * FROM student;

-- 需求: 按照id顺序排序

SELECT * FROM student ORDER BY id ASC;

SELECT * FROM student ORDER BY id; -- 默认正序

SELECT * FROM student ORDER BY id DESC;-- 反序

-- 注意:多个排序条件

-- 需求: 按照servlet正序,按照jsp的倒序

SELECT * FROM student ORDER BY servlet ASC,jsp DESC;

-- 2.11 分组查询(group by)

-- 需求: 查询男女的人数

-- 预期结果:

-- 男 3

--- 女 2

-- 1) 把学生按照性别分组(GROUP BY gender)

-- 2) 统计每组的人数(COUNT(*))

SELECT gender,COUNT(*) FROM student GROUP BY gender;

-- 2.12 分组查询后筛选

-- 需求: 查询总人数大于2的性别

-- 1) 查询男女的人数

-- 2)筛选出人数大于2的记录(having)

--- 注意: 分组之前条件使用where关键字,分组之后条件使用having关键字

SELECT gender,COUNT(*) FROM student WHERE GROUP BY gender HAVING COUNT(*)>2;

-- 给student表添加servlet和jsp成绩列

ALTER TABLE student ADD servlet INT,ADD jsp INT;

ALTER TABLE student ADD servlet INT;

ALTER TABLE student ADD address VARCHAR(10);

DESC student;

UPDATE student SET servlet=70,jsp=85 WHERE id=1;

UPDATE student SET servlet=65,jsp=90 WHERE id=2;

UPDATE student SET gender='女' WHERE id=2;

UPDATE student SET address='广州天河' WHERE id=1;

UPDATE student SET address='广州天河' WHERE id=2;

UPDATE student SET address='广州番禺' WHERE id=3;

INSERT INTO student VALUES(4,'陈六','男',28,75,80,'');

INSERT INTO student VALUES(5,'李七','男',30,64,83,NULL);

INSERT INTO student VALUES(6,'李八八','男',35,67,82,'广州天河');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559203.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

表级锁的mysql读写_Mysql的表级锁

我们首先需要知道的一个大前提是&#xff1a;mysql的锁是由具体的存储引擎实现的。所以像Mysql的默认引擎MyISAM和第三方插件引擎 InnoDB的锁实现机制是有区别的。可根据不同的场景选用不同的锁定机制。Mysql有三种级别的锁定&#xff1a;表级锁定、页级锁定、行级锁定一、定义…

account表里有什么 银行_模拟一个银行账户类Account,账户类中包括所有者、账号、余额、账户总数、存款、取款等信息。_学小易找答案...

【单选题】廉价磁盘冗余阵列RAID利用冗余技术实现高可靠性,其中RAID1的磁盘利用率为() 。【简答题】与直流调速相比,交流调速有何优点?【论述题】方法【单选题】以《老子注》一书驰名汉学界的学者是下列哪一位 ______【填空题】本任务中,所需的实训设备有:( )、( )、( )【单选…

创建mysql视图语法正确的是_MySQL创建视图的语法格式

视图&#xff0c;具有简化查询语句、安全性和保证逻辑数据独立性等作用创建视图的语法格式视图中&#xff0c;包含SELECT查询的结果&#xff0c;因此&#xff0c;视图的创建基于SELECT语句&#xff0c;和已经存在的数据表&#xff0c;视图可以建立在一张表上&#xff0c;也可以…

爬空气质量MySQL_爬虫:利用selenium采集某某环境网站的空气质量数据

前言&#xff1a;在上一篇文章中&#xff0c;我们介绍了在http://PM2.5.in这个网站采集空气质量的数据&#xff0c;本篇文章是对其产生的一些问题的另一种解决方案&#xff0c;提供更加权威的数据采集。技术框架&#xff1a;selenium、json、etree这里的selenium是一种自动化测…

mysql导出数据意义_11、mysql导出数据

1、使用select... into outfile语句导出数据(1)txt格式select *from runoob.tb1 into outfile /tmp/runoob.txt;(2)CSV格式select * from passwd into outfile /tmp/runoob.txt fields terminated by , enclosed by " lines terminated by \r\n;(3)生成一种文件&#xff0…

操作失败10秒内未完成启动服务mysql_01-MySQL 命令行-cmd用法-未完成

01.png02.png03.png04.png05.png06.png07.png08.png09.png一、mysql服务的启动和停止net stop mysqlnet start mysql二、登陆mysql语法如下&#xff1a; mysql -u用户名 -p用户密码键入命令mysql -uroot -p&#xff0c; 回车后提示你输入密码&#xff0c;输入12345&#xff0c;…

java时间聚类_mongodb 按照时间聚类 java

当存储到mongodb中的是string类型的时间&#xff0c;小tips:1. 那么在对此域按照时间聚类(每周&#xff0c;每月)时就不能直接使用mongodb的time关键字了&#xff0c;因为mongodb有自己的时间类型&#xff0c;且目前它只认可自己的时间类型。2. 假如对于时间进行简单的聚类&…

selenium python实例录制运行_WEB自动化测试工具selenium录制器使用笔记

简介selenium录制器是最近刚流行起来的一个WEB自动化测试工具&#xff0c;由多测测团队开发。Selenium录制器采用关键字驱动的理念&#xff0c;简化测试用例的创建和维护&#xff0c;可以直接运行在浏览器中&#xff0c;就像真正的用户在操作一样。自动化脚本录制、一键回放、报…

cass坡度土方计算案例_60度斜坡怎么计算_南方CASS土方计算方法—方格网法

01概述在我们的日常工作中&#xff0c;遇到大量的土方修正算的相关咨询&#xff0c;为什么CASS的方格网土方修正算&#xff0c;方格设定为10米和20米&#xff0c;修正算结果有很大差异呢&#xff1f;从软件计算原理、数据质量等方面进行分析&#xff0c;读了这篇文章&#xff0…

java ssh cpu_初学Java ssh之Spring 第四篇

今天我来学习学习Spring中Bean。在Spring中原来还有标签啊&#xff0c;它相当于标签的老爸&#xff0c;老爸可以有很多个儿子&#xff0c;但是老爸只有一个哦。也就是说一个标签内可以有多个标签&#xff0c;每个标签代表一个java实例。定义时&#xff0c;需要注意两个属性&…

java中servlet知识_jsp_Servlet常用知识总结

Servlet三个要素[java] view plain copy print?1.必须继承自HttpServlet2.必须实现doGet()或者doPost()3.必须在web.xml中配置ServletHttpServeltRrequest:请求对象getParameter():获得表单元素的值getAttribute():获得request范围中的属性值setAttribute():设置reqeust范围中…

java语言执行模式,使用java.exe执行静默模式

I would like to know if there is a way to execute the "java.exe" as a background process (silent mode execution)Ex: java -cp . MyClass arg1I want to run the above statement as a background process , without opening command window解决方案Under Win…

linux下tomcat部署java web项目_求助帖 linux服务器 tomcat部署javaweb项目问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼03-Sep-2018 17:42:07.330 SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:org.apache.catalina.LifecycleException: Failed to start component [Stan…

rabbitmq+topic+java_译:5.RabbitMQ Java Client 之 Topics (主题)

我们使用的是direct(直接交换)&#xff0c;而不是使用只能进行虚拟广播的 fanout(扇出交换)&#xff0c;并且有可能选择性地接收日志。虽然使用direct(直接交换)改进了我们的系统&#xff0c;但它仍然有局限性 - 它不能基于多个标准进行路由。在我们的日志系统中&#xff0c;我…

java某个时间推迟60天_java计算两个时间相差(天、小时、分钟、秒)

public static long dateDiff(String startTime, String endTime,String format, String str) {// 按照传入的格式生成一个simpledateformate对象SimpleDateFormat sd new SimpleDateFormat(format);long nd 1000 * 24 * 60 * 60;// 一天的毫秒数long nh 1000 * 60 * 60;// …

java影碟租赁系统_java影碟管理系统

在学习基于javaweb的影碟管理系统项目的时候&#xff0c;方便日后能及时查阅&#xff0c;在本平台中记录一下基于javaweb的影碟管理系统的开发流程。在学习时候的选用了SSM(MYECLIPSE),这个框架不论是学习还是使用都非常方便&#xff0c;简单易上手。基于javaweb的影碟管理系统…

hasp 加密 java_加密软件HASP的使用说明

加密软件hasp使用说明1.hasp环境的搭建hasp环境的搭建要根据机器的环境来安装&#xff0c;①windows系统的就安装windows版本&#xff0c;安装步骤可以参考&#xff1c;录像&#xff1e;文件下里的hasp5.0系统安装.exe&#xff1b;②linux版本的需要安装linux版本&#xff0c;安…

java明文发送_使用java MD5加密网络明文

1.[代码][Java]代码import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;/*** Created by liuhj on 2015/11/27.*/public class MD5 {public static void main(String args[]){StringMD5("123456");}public static String StringMD5(…

php设置session 生命周期,设置session的生命周期(php)

PHP中&#xff0c;Session变量保存在服务器端(默认以文件格式保存)&#xff0c;而Session ID以cookie形式保存在客户端。销毁session的方法有2种第一种是通过程序session_destory()方法清除所有sessionunset(session[x])来清除指定的session[x]。第二种是通过关闭浏览器关闭后会…

php 查找无限级,Ztree + PHP 无限级节点 递归查找节点法

一、前言简单的描述一下&#xff0c;实习几个原理&#xff0c;思想&#xff0c;其实写很多东西&#xff0c;思想算是最重要的。1、目标&#xff1a;将写一个无限节点的树形目录结构&#xff0c;如下图步骤&#xff1a;1、你的下载 插件 ztree。然后布置在你的项目中。2、相关C…