`
375809600
  • 浏览: 153401 次
  • 来自: 湖北
社区版块
存档分类
最新评论

mysql的使用和练习解答+ppt

 
阅读更多

 

数据库

什么是数据库?

数据库就是存储在硬盘上的文件,数据库产品都是采用一种优良的算法在保存数据,方便我们对数据进行增删改查

 

数据库服务器: 安装了数据库软件的计算机

数据库:数据库服务器可以创建多个数据库, 一个web应用对应一个数据库

表: 一个库中有多张表,一个javabean对应一张表

 

 

sql语句

一、针对数据库和表的操作

数据库 database  表 table

 

创建 create

修改 alter

删除 drop

查看 show

 

创建一个数据库

create database a;

 

查看数据库

show databases;

 

删除表user

drop table user;

 

练习

创建一个名称为mydb1的数据库。

create database mydb1;

创建一个使用utf-8字符集的mydb2数据库。 

create database mydb2 character set utf8;

创建一个使用utf-8字符集,并带校对规则的mydb3数据库。

create database mydb3 character set utf8 collate utf8_general_ci;

 

查看数据库的定义信息

show create database mydb2;

 

删除前面创建的mydb3数据库

drop database mydb3;

 

// 使用数据库

use mydb1;

创建一个a表

create table a

(

name varchar(20)

);

 

insert into a (name) values ('aaa');

insert into a (name) values ('bbb');

 

备份mydb1

mysqldump -uroot -proot mydb1 > d:\a.sql          //不能在mysql里面进行访问,在cmd控制台

 

恢复数据库的数据

source d:\a.sql            mysql [-h 主机名或IP] -u root -psorry test<C:/test.sql

 

mydb2的字符集修改为gbk

alter database mydb2 character set gbk;

 

创建一个员工表

字段 属性

id 整形

name 字符型

gender 字符型或bit型

brithday 日期型

entrydate 日期型

job 字符型

salary 小数型

resume 大文本型

 

create table employee

(

id int,

name varchar(20),

gender varchar(6),

birthday date,

entrydate date,

job varchar(20),

salary float,

resume text

);

 

查看表的定义信息

show create table employee;

查看表的结构

desc employee;

 

在上面员工表的基础上增加一个image列。

alter table employee add image blob;

修改job列,使其长度为60。

alter table employee modify job varchar(60);

删除gender列。

alter table employee drop gender;

表名改为users。

rename table employee to users;

修改表的字符集为utf-8

alter table users character set utf8;

列名name修改为username

alter table users change name username varchar(30);

 

 

二、针对表中数据的操作

针对表中数据的操作无外乎四个:增删改查  crud : create read update delete

1 增 insert语句

创建一张 employee 表

create table employee

(

id int,

name varchar(20),

gender varchar(10),

birthday date,

salary float,

entry_date date,

resume text

);

 

向表中添加三条记录

insert into employee (id,name,gender,birthday,salary,entry_date,resume) values (1,'zhangsan','male','1980-11-22',1000,'2000-4-12','good boy');

insert into employee (id,name,gender,birthday,salary,entry_date,resume) values (2,'wangwu','male','1983-11-6',1000,'2004-4-12','good boy');

insert into employee (id,name,gender,birthday,salary,entry_date,resume) values (3,'xiaohong','female','1992-11-22',1000,'2012-2-12','good girl');

 

insert into employee (id,name,gender,birthday,salary,entry_date,resume) values (4,'小王','male','1985-11-22',1000,'2012-2-12','一个好男孩');

 

查看表中所有的数据

select * from employee;

 

查看一下数据库编码的信息

show variables like 'character%';

 

| Variable_name            | Value

+--------------------------+--------

| character_set_client     | utf8

| character_set_connection | utf8

| character_set_database   | utf8

| character_set_filesystem | binary

| character_set_results    | utf8

| character_set_server     | utf8

| character_set_system     | utf8

 

修改客户端编码

set character_set_client=gbk;

 

set character_set_results=gbk;

 

insert employee values (5,'xiaolan','female','1992-11-22',1000,'2012-2-12','good girl');

 

insert employee (id,name) values (6,'aaa');

 

insert employee (id,name) values (7,'bbbb'),(8,'ccc'),(9,'dddd');

 

2 改  update 语句

 

将所有员工薪水修改为5000元。

update employee set salary=5000

将姓名为’zhangsan’的员工薪水修改为3000元。

update employee set salary=3000 where name='zhangsan';

将姓名为’wangwu’的员工薪水修改为4000元,gender改为female。

update employee set salary=4000,gender='female' where name='wangwu';

将xiaohong的薪水在原有基础上增加1000元。

update employee set salary=salary+1000 where name='xiaohong';

 

3 删  delete 语句

删除表中name为’zhangsan’的记录。

delete from employee where name='zhangsan';

删除表中所有记录。

delete from employee;

使用truncate删除表中记录。

truncate employee;

 

4 查  select 语句

创建一个student表  添加7条记录

create table student(

id int,

name varchar(20),

chinese float,

english float,

math float

);

 

insert into student(id,name,chinese,english,math) values(1,'张小明',89,78,90);

insert into student(id,name,chinese,english,math) values(2,'李进',67,53,95);

insert into student(id,name,chinese,english,math) values(3,'王五',87,78,77);

insert into student(id,name,chinese,english,math) values(4,'李一',88,98,92);

insert into student(id,name,chinese,english,math) values(5,'李来财',82,84,67);

insert into student(id,name,chinese,english,math) values(6,'张进宝',55,85,45);

insert into student(id,name,chinese,english,math) values(7,'黄蓉',75,65,30);

 

练习

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

select * from student;

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

select name,english from student;

过滤表中重复数据。

select distinct english from student;

在所有学生分数上加10分特长分。

select name,english+10,chinese+10,math+10 from student;

统计每个学生的总分。

select name,english+chinese+math from student;

使用别名表示学生分数。

select name,english+chinese+math as sum from student;

 

where子句用于加查询条件

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

select * from student where name='李一';

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

select * from student where english>90;

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

select *,english+chinese+math sum from student where english+math+chinese>200;

 

 

查询英语分数在 80-90之间的同学。

select * from student where english between 80 and 90;

查询数学分数为89,90,91的同学。

select * from student where math in(89,90,91);

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

select * from student where name like '李%';

查询姓李的名字是两个字的学生

select * from student where name like '李_';

查询数学分>80,语文分>80的同学。

select * from student where math>80 and chinese>80;

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

select *,english+chinese+math sum from student where english>80 or english+chinese+math>200;

 

对数学成绩排序后输出。

select * from student order by math;

对总分排序后输出,然后再按从高到低的顺序输出

select *,english+chinese+math sum from student order by math+english+chinese desc;

对姓李的学生成绩排序输出  order by 从句要位于 where从句的后面

select *,english+chinese+math sum from student where name like '李%' order by math+english+chinese;

 

合计函数 count

insert into student(id,name,chinese,english,math) values(8,'郭靖',null,null,18);

统计一个班级共有多少学生?

select count(*) from student;

select count(chinese) from student;

统计数学成绩大于90的学生有多少个?

select count(*) from student where math>90;

统计总分大于240的人数有多少?

select count(*) from student where chinese+math+english>240;

 

合计函数  sum

统计一个班级数学总成绩?

select sum(math) from student;

统计一个班级语文、英语、数学各科的总成绩

select sum(math),sum(english),sum(chinese) from student;

统计一个班级语文、英语、数学的成绩总和

select sum(chinese+math+english) from student;

统计一个班级语文成绩平均分

select sum(chinese)/count(*) from student;

select sum(chinese)/count(chinese) from student;

 

合计函数   不考虑为null的数据

求一个班级语文平均分?

select avg(chinese) from student;

求一个班级总分平均分

select avg(chinese+math+english) from student;

 

求班级最高分和最低分

select max(chinese) from student;

 

 

订单表

create table orders(

id int,

product varchar(20),

price float

);

 

insert into orders(id,product,price) values(1,'电视',900);

insert into orders(id,product,price) values(2,'洗衣机',100);

insert into orders(id,product,price) values(3,'洗衣粉',90);

insert into orders(id,product,price) values(4,'桔子',9);

insert into orders(id,product,price) values(5,'洗衣粉',90);

 

select * from orders group by product;

select *,count(*) quantity,sum(price) from orders group by product;

 

查询单类商品购买价格高于100的

select *,count(*) quantity,sum(price) from orders group by product having sum(price)>100;

分享到:
评论

相关推荐

    sql.rar_MYSQL_MYSQL ppt_sql 练习

    这个"sql.rar_MYSQL_MYSQL ppt_sql 练习"压缩包显然包含了关于MySQL的详细教程和练习材料,旨在帮助用户深入理解和熟练掌握MySQL的相关技能。 首先,"MYSQL数据库的介绍"部分可能涵盖MySQL的基本概念,比如什么是...

    Qt4开发实践( 电子教案+习题解答+程序源代码)

    2. **图形界面示例**:包括各种控件的使用和窗口布局设计。 3. **事件处理**:展示如何响应用户的输入事件。 4. **网络通信**:实现客户端-服务器通信或文件传输。 5. **数据库操作**:创建数据库连接,执行SQL查询...

    《MySQL数据库入门》教学设计.docx

    在第二课时,教师会回顾上节课内容,解答学生的疑问,进一步强化对MySQL服务的管理,如如何启动和停止MySQL服务,以及如何使用DOS命令和MySQL Command Line Client登录服务器。学生将学习到更多MySQL的命令,以提高...

    mysql基础篇配套资料

    这份“mysql基础篇配套资料”压缩包涵盖了MySQL学习的基础环节,包括代码实例、SQL数据测试、练习题、笔记、安装包以及上课用的PPT,为初学者提供了一个全面的学习资源库。 1. **代码示例**: 代码示例通常包含了...

    JSP+MYSQL在线教学系统(毕业设计)

    教学资料管理模块允许教师上传和分享课程相关的文档、PPT、课件等资源,学生可以下载或在线查看这些资料,辅助学习。同时,系统可能还提供了资料分类和搜索功能,便于查找特定主题的学习材料。 4. **教学视频管理...

    数据库系统概论PPT和习题

    数据库系统是计算机科学中的核心课程之一,它涵盖...总的来说,这份“数据库系统概论PPT和习题”资源包是学习数据库知识的理想辅助工具,通过系统的阅读和练习,可以为将来在信息科技领域的工作或研究打下坚实的基础。

    政务数据库系统PPT.rar

    系统实现阶段,通常会使用数据库管理系统(DBMS)如Oracle、MySQL或SQL Server来创建和管理数据库。同时,为了提高效率和性能,会进行索引优化、查询优化和数据库架构设计。此外,备份与恢复策略也是关键,以防止...

    北大青鸟accp7.0使用JSP/Servlet技术开发新闻发布系统课件+上级+课后作业答案

    1. 课件:详细的课程讲义,可能有PPT、PDF或视频等形式,讲解JSP和Servlet的基础知识,以及如何在新闻发布系统中应用这些技术。 2. 上级(可能是“上级指导”或“项目指南”):为学员提供项目开发的步骤和建议,...

    Chapter01.zip

    在教员资料中,可能包含解答常见问题的指南、案例分析、练习题解答,甚至是教学PPT或视频,这些都可以辅助学习者更好地理解和掌握MySQL的知识点。同时,教学策略和方法论的分享,可以帮助教师更有效地传授这些知识。...

    基于SSM+JSP的医院预约挂号系统设计与实现(源码+数据库+文档).zip

    本项目是一套基于SSM的医院预约挂号系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。也可作为课程设计、期末大作业 包含:项目源码、数据库脚本、开发说明文档、LW、PPT、演示视频...

    java程序设计大学教程试读+课件.rar

    《Java程序设计大学教程》是一本专为大学学生和初学者设计的编程教材,它深入浅出地介绍了Java编程语言的基础知识和高级特性。...同时,Q学院提供的链接可能包含更多练习题、习题解答和编程挑战,以辅助学习过程。

    数据库系统概论(第四版) 王珊 萨师煊

    上机操作实验的习题与练习题目是实践环节的重要组成部分,通过实际操作,学生可以熟悉数据库管理系统(如MySQL、Oracle等)的使用,掌握数据库创建、查询、更新和删除等基本操作,以及如何进行数据库设计和性能调优...

    C#2005文件IO与数据存取秘诀-第六章

    在PPT部分,可能包含清晰的图表和步骤指导,以帮助读者更好地理解和应用这些概念。而“文”可能指的是相关的代码示例和练习,以增强实践能力。 总结而言,C# 2005文件I/O与数据存取的秘密在于理解和掌握`System.IO`...

    Class_Python-main.zip

    4. **解决方案**:对于练习题,通常会有对应的解答或参考代码,方便学习者对比和学习。 5. **项目**:高级主题可能包含小型编程项目,让学生应用所学知识解决实际问题。 6. **阅读材料**:额外的阅读资料,可能是...

    数据库知识---初学者的首选

    最后,《(第二版)课后习题答案.rar》提供了练习和问题解答,这对于巩固所学知识、检查理解程度非常有帮助。通过解答这些问题,初学者可以更好地掌握关系数据库设计和查询技巧。 总的来说,这个压缩包提供了数据库...

    北大青鸟Y2课件(使用Java企业级技术开发大型系统)

    【标签】:“课件”提示我们,这是一套教学材料,可能包括PPT演示文稿、讲义、代码示例、练习题等,旨在帮助学生理解和掌握Java企业级开发的技能。 【压缩包子文件的文件名称列表】:尽管没有具体的文件内容,但...

    大学计算机基础.rar

    5. 数据库基础:讲解数据库的概念、SQL语言,以及如何使用数据库管理系统(如MySQL)进行数据存储和检索。 6. 计算机安全:讨论网络安全问题,如病毒、黑客攻击、密码学等,以及如何保护个人信息和数据安全。 7. ...

    简单实现JSP网上书店(设计要求+分析+代码)

    本项目使用了MVC(Model-View-Controller)架构模式,这是一种将业务逻辑、用户界面和数据访问分离开来的设计模式,使得代码更易于维护和扩展。 1. **MVC模式**: - **Model(模型)**:负责处理业务逻辑和数据...

    吉林大学数据库资料习题

    "常见问题分析"这部分可能是对数据库系统中常见的问题和错误的解答,比如数据不一致性的原因、如何解决查询性能问题、如何备份和恢复数据库、安全性管理和权限控制等。这些问题的解决方法有助于提升学生在实际工作中...

Global site tag (gtag.js) - Google Analytics