数据库基础

1.mysql自带数据库

information_schema  -mysql元数据,基础数据

mysql           -mysql配置数据库,其中包含用户信息。(用户名和密码,权限管理)

performance_schema  -mysql数据库软件的运行数据,日志信息,性能数据

test            -测试数据库,空的

2.数据库的操作

create database 数据库名称 default character set utf8;   -指定编码创建数据库

show create database 数据库名称;     -查看数据库的默认字符集
day15    | CREATE DATABASE `day15` /*!40100 DEFAULT CHARACTER SET utf8 */

alter database 数据库名称 default character set gbk; -修改数据库的字符集

drop database 数据库名称;    -删除数据库

use 数据库名称;      -使用数据库

3.数据表的操作

create table 数据表名称( -创建表
    字段名称 字段类型 类型长度
    -> sid int,     
    -> sname varchar(20),
    -> sage int,
    -> gender varchar(20),
    -> renark varchar(20)
    -> );

show tables;        -查看所有数据表

desc 数据表名称;     -查看数据表结构

drop table 数据表名称;   -删除数据表

alter table 数据表名称 add columnt 字段名称 字段类型;    -添加字段
alter table 数据表名称 drop columnt 字段名称;        -删除字段

alter table 数据表名称 modify 字段名称 字段类型;     -修改字段类型
alter table 数据表名称 change 旧字段名称 新字段名称 字段类型;  -修改字段名称及类型

4.数据表的数据操作:增删改数据

一.增加数据
1)插入所有字段,依次按顺序插入,注意不能少或多字段值
insert into student values(1,'张三',20,'男','添加数据');
2)插入部分数据
insert into student (sid,sname) values(3,'王五');

二.修改数据
1) 修改所有数据
update student set gender='男';
2) 带条件的修改
update student set gender='女' where sid=1;
3)修改多个字段
update student set gender='女',sage='15' where sid=3;

三.删除数据
1)删除所有数据
delete from student;
2)带条件的删除,不能删除表的约束
delete from student where sid=1;
3)另一种方式,不能带条件,可以删除表的约束
truncate table student;

5.数据库的查询一

-- 1.查询所有列
select * from student;

-- 2.查询指定列
select sid,sname,sage from student;

-- 3.查询指定别名,注意:在多表查询是经常使用表的别名
select sid as '编号',sname as '姓名' from student as s;

-- 4.查询时添加常亮列
-- 需求:在查询student表时添加一个班级列,内容是“java就业班”
select sid,sname,sage,gender,renark,'java就业班' as '年级' from student;

-- 5.查询时合并列
-- 需求:查询每个学生的servlet和jsp总成绩
-- 注意:合并列只能合并数值类型的字段
select sid,sname,(servlet+jsp) as '总成绩' from student;

-- 6.查询时去除重复记录
-- 需求:查询学生的性别 男 女
select distinct gender from student;

-- 7.条件查询(where)
-- 逻辑条件:and(与) or(或)
-- 需求:查询id为2,且姓名为李四的学生
select * from student where sid=2 and/or sname='大二';

-- 比较条件
-- 需求:查询servlet成绩大于70的学生
select * from student where servlet>70;

-- 判空条件(null空字符串):is null / is not null / =='' / <>''
select * from student where servlet='';(包括null和空字符串

-- 模糊条件:like
-- 通常使用以下替换标记:
-- %:表示任意字符
-- _:表示一个字符
-- 需求:查询姓' 大' 的学生
select * from student where sname like '张%/张__';

6.数据库的查询二

-- 1.聚合函数查询 sum() avg() min() max() count()
-- 需求:查询学生的servlet的总成绩
select sum(servlet) as 'servlet的宗成绩' from student;

-- 需求:学生servlet的平均分
select avg(servlet) as 'servlet的平均分' from student;

-- 需求:查询最高、低分
select max/min(servlet) as '最高分/最低分' from student;

-- 需求:统计当前有多少学生(count()),不包含null数据
select count(*/id) from student;

-- 2.分页查询(limit 起始行,查询几行)
-- 需求:查询第1,2条记录
select * from student limit 0,2;

-- 3.查询排序
-- 语法:order by 字段 asc/desc
-- asc: 顺序,正序。数值:递增,字母:自然顺序(a-z)
-- desc: 倒序,反序。数值:递减,字母:自然顺序(z-a)

-- 默认情况下,按照插入记录顺序排序
select * from student;

-- 需求:按照id正序/反序排序
select * from student order by sid asc/desc;

-- 注意:多个排序条件
-- 需求:按照servlet正序,按照jsp的倒序
select * from student order by servlet asc,jsp desc;

-- 4.分组查询(group by)
-- 需求:查询男女的人数
-- 预期结果:
   -- 男 1
   -- 女 2
   -- 1) 把学生按照性别分组(group by gender)
   -- 2) 统计每组的人数(count(*))
select gender,count(*) from student group by gender;

-- 分组查询后筛选
-- 需求:查询总人数大于1的性别
-- 1) 查询男女的人数
-- 2) 筛选出人数大于1的记录(having)
select gender,count(*) from student group by gender having count(*)>1;
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REaDME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值