数据库和表的增删改查操作

web简介

软件架构

B/S(浏览器/服务器)

软件:页游
优点:不需要下载,维护时不需要停机更新
缺点:画面不精良、对网络带宽要求高

C/S(客户端/服务器)

软件:LOL
优点:画面精良、对网络要求不高
缺点:需要下载很大的客户端、维护时需要停机更新、每个更新需要下载比较大的补丁

1、数据库

数据库就是一个存储数据的仓库。
发展历史:层次式数据库,网格式数据库,关系型数据库
Insert

1.1创建数据库

create database mydb1;
create database mydb2 character set utf8;
create database mydb3 character set utf8 collate utf8_bin;

1.2查看所有的数据库

show databases;

1.3查看数据库创建语句

show create database mydb2;

1.4删除数据库

drop database mydb3;

1.5修改数据库

修改mydb2字符集为utf8,校对规则为utf8_bin
alter database mydb2 character set utf8 collate utf8_bin;

1.6选择数据库

必须要先选择一个数据库才能操作表和数据
use mydb1;

1.7查看当前选择的数据库

select database();

表操作

2创建表

create table user(id int,name char(10),password char(20),birthday date);

2.1查看当前数据库中有哪些表

show tables;

2.2查看表的创建语句

show create table user;

2.3添加主键

create table employee(id int primary key auto_increment,);

2.4查看表结构

desc employee;

2.5修改表

2.5.1添加字段

alter table table_name add column_name dataType;

2.5.2修改字段

alter table table_name modify column_name dataType;

2.5.3删除字段

alter table table_name drop column_name;

2.5.4修改表名

rename table old_table_name to new _table_name;

2.5.5修改字段名称

alter table table_name change old_column_name new_column_name dataType;

2.5.6删除表

drop table table_name;

3表数据操作

3.1插入数据

insert into table_name values(value…)
insert into table_name(column_name1,column_name2) values(value1,value2);
eg:向employee表里插入数据
第一种插入方式:
insert into employee values(null,‘pei’,‘m’,‘1999-09-05’,‘2021-03-20’,‘boyfriend’,‘180’,‘like cxy’);
第二种插入方式:
insert into employee(id,name) values(null,‘cxy’);

总结注意的问题

1.字符串类型和日期类型需要通过单引号括起来
2.如果字段自动增长可以不给这个字段给值
3.如果是在表名后面指定字段,就需要在values里按照之前指定字段的顺序来给值
4.如果在表名后面没有指定字段,就需要在values里按照表里定义的字段顺序来依次给值
5.插入数据的类型必须要和字段类型一致
6.插入数据不能超过字段长度限制

3.2更新数据

update table_name set column_name=value;
//有条件的更新操作,只有满足这个条件才能进行更新数据
update table_name set column_name=value where column_name=v;

3.3删除数据

delete from table_name;
//有条件的删除操作,只有满足这个条件才能进行删除数据
delete from table_name where column_name=v;
truncate employee;

注意:

truncate是将整张表的结构进行摧毁再重建,数据也都清空了。delete from删除一条一条数据进行删除。truncate删除效率较高。在以后如果出现多表的场景,truncate这种删除方式有可能会破坏表与表之间的关系,以后删除还是使用delete from来删除数据。

3.4查询操作

select * from table_name;
*代表所有字段
select id,name,gender,birthday,entry_date,job,salary,resume from employee;

3.4.1写*和所有字段来查询效率的高低?

书写所有字段的查询效率较高。*需要去遍历所有的字段再查询,书写所有字段就会直接查询。
select—查询
from—从哪张表

3.4.2去重查询

select distinct column_name from table_name;

3.4.3查询时使用表达式

统计每个学生的总分。
select name,math+chinese+english from exam;
使用别名表示学生总分。
select name,math+chinese+english as sum from exam;

3.4.4where子句查询

eg:查询英语分数在 80-100之间的同学。
select name,english from exam where english between 80 and 100;
查询数学分数为75,76,77的同学。
select name,math from exam where math in(75,76,77);
查询所有姓张的学生成绩。
select * from exam where name like ‘张%’;
查询数学分>70,语文分>80的同学。
select * from exam where math>70 and chinese>80;
查询总分大于230的所有同学
select name,math+chinese+english as sum from exam where math+chinese+english>230;
查询数学分数不低于60分的同学
select * from exam where not (math<60);
查询数学缺考(null)的同学
insert into exam values(null,‘小朴朴’,100,null,100);
select * from exam where math is null;
查询所有人的数学成绩,如果为null则使用0来代替
select name,ifnull(math,0) from exam;

注:

数据库中的关键字执行顺序:from—where—select

3.4.5order by子句

在得到查询结果之后,对查询结果根据某一个字段进行排序输出。
order by关键字永远出现在查询语句的最后面,执行顺序也是最后一个。
select * from table_name order by column_name asc|desc;

3.4.6 聚集函数 count

对于表中所有满足条件的行进行计数操作
遇到列中有行的值为null的不计数
select count(column_name) from table_name;

3.4.7 聚集函数sum

对于满足条件的行,将指定字段全部数据进行求和
sum只能求数值之和
select sum(column_name) from table_name;

3.4.8聚集函数avg

对于满足条件的行,将指定的字段数据全部求平均值
select avg(column_name) from table_name;

3.4.9 聚集函数 max/min

对满足条件的行,在指定字段内查找最大值和最小值
select max(column_name)|min(column_name) from table_name;

3.4.10 group by分组操作

根据指定字段名进行分组,字段相同的分在同一组,同一组只能显示本组的第一条数据,分组之后只会展示同一组的第一条数据但是别的数据没有被覆盖。
select column_name1,column_name2 from table_name group by column_name;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值