栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MySQL数据库和数据表的增删改查基础

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL数据库和数据表的增删改查基础

文章目录
  • MySQL数据库基础
    • 一、数据库操作语句
      • 1.查询当前服务器端的数据库
      • 2.创建数据库
      • 3.查看数据库编码格式
      • 4.选择数据库
      • 5.删除数据库
    • 二、数据表的操作语句
      • 1.常用数据类型
      • 2.查看某个表的具体结构
      • 3.创建表
      • 4.删除表
      • 5.修改表结构
        • (1) 创建表后新增一个属性add
        • (2) 删除某一列drop
        • (3) 修改某一列change
        • (4) 修改表名rename
        • (5)修改表字符集convert
  • MySQL表的增删改查(基础)
    • 一、新增(Create)
    • 二、查询(Retrieve)
      • 1.全列查询*
      • 2.查找指定属性
      • 3.查询字段为表达式
      • 4.给查询结果起别名as
      • 5.去重查询distinct
      • 6.按照结果集排序order by
      • 7.分页查询limit
      • 8.条件查询where
        • (1) 基本where查询
        • (2) 区间查询**between...and...**
        • (3) 包含查询**in**
        • (4) 模糊查询**like**
    • 三、修改(Update)
    • 四、删除(Delete)

MySQL数据库基础 一、数据库操作语句 1.查询当前服务器端的数据库
show databases;

2.创建数据库
create database if not exists db_name character set utf8mb4;

if not exists 为检查服务器中是否存在同名数据库,存在不创建。

character set utf8mb4 为将数据库默认编码设置为utf8mb4 。

3.查看数据库编码格式
show create database db_name;

查看当前数据库的编码格式

4.选择数据库
use db_name;

对数据表进行操作前要先选择数据库。

5.删除数据库
drop database db_name;

危险命令!将会删除数据库中的所有数据表。

二、数据表的操作语句 1.常用数据类型
数据类型大小说明对应java类型
int4字节范围-2^31 <–> 2^31-1Integer
bigint8字节范围2^63Long
decimal(M,D)M/D最大值+2M表示总共数据长度有几位,D表示小数点后保留几位BigDecimal
varchar64K大小可变长度字符串String
char(长度)64K大小定长字符串String
datetime8字节范围从1000到9999年java.util.Date、java.sql.Timestamp

datetime类型在插入数据时一定要以’yyyy-mm-dd hh:mm:ss’格式插入

在插入时使用MySQL的函数

-- 读取当前系统时间
now();
2.查看某个表的具体结构
desc 表名;
3.创建表
create table tb_name(
    属性名称1  属性类型 ,
    属性名称2  属性类型 ,
    ...
    属性名称n  属性类型
);

可以使用关键字 comment 增加字段说明

show create table tb_name;

查看注释信息

4.删除表
drop table tb_name;

和删除数据库一样,属于危险命令××!

5.修改表结构

修改表结构使用alter关键字。

(1) 创建表后新增一个属性add
alter table tb_name add 新属性名称  属性类型;
(2) 删除某一列drop
alter table tb_name drop 列名称;
(3) 修改某一列change

此时这一列已经存在数据了,想要修改这一列的属性名称或者类型就可以

alter table tb_name change 原字段名 新字段名 类型 [约束];
(4) 修改表名rename
alter table 旧表名 rename 新表名;
(5)修改表字符集convert
alter table tb_name convert to character set 新字符集;
MySQL表的增删改查(基础)

表数据的CURD(增加Create 更新Updata 查询Retrieve 删除Delete)

一、新增(Create)
insert into tb_name(属性名称...) values(属性值...);

全列插入数据个数必须严格等于列的个数,否则会报错,不会使用null占位

二、查询(Retrieve)

select得到的数据相当于一张临时表,不会存储到硬盘中。

1.全列查询*
select * from tb_name;

全行全列的查找通常不推荐使用 * 进行查找

2.查找指定属性
select 列名称1,列名称2... from tb_name;
3.查询字段为表达式

可以对属性进行运算。

4.给查询结果起别名as

eg:总成绩

select id,name,
chinese+english+math as 总分 from tb_name;
5.去重查询distinct
select distinct 列名称 from  tb_name;

若要查询多列结果,包含distinct关键字的话,这个去重查询必须放在第一列且后边的属性默认也会进行去重处理。

select distinct 列名称1 ,列名称2 from tb_name;
6.按照结果集排序order by

order by可以使用别名排序

-- ASC为升序(小到大),DESC为降序(大到小),不写时默认升序
select 别名,列名称... from tb_name
order by 排序的列名称或者别名 ASC|DESC;

① 若结果集中包含null值,这个值null认为是最小值,升序出现在最上边,降序出现在最下边。

② 针对多个列进行排列,按照书写顺序优先级排序。

eg:优先按照语文成绩排序,只有语文成绩相同时才按照数学降序排列

7.分页查询limit

查询结果按前n行输出(从0开始,筛选n条结果):

select 属性名称... from tb_name
[where...] [order by] limit n;

查询结果按照前n行输出,从第s行开始(从s行开始,筛选n条结果):

select 属性名称.. from tb_name limit n offset s;

limit n > 所有行数,则全部展示

8.条件查询where

where条件中不支持别名

为啥order by支持别名而where不支持?

order by的执行顺序实在已经把结果查询出来了,只是给查出来的结果排序(select查询出来的结果对于order by已经可见了)

where执行顺序实在查询之前,条件过滤,select要在满足where分支的条件基础上的查询!select的别名此时还未执行

比较运算符:

MySQL的null不包含在< <= 的条件中(null=null也不支持)

null不要使用< <= = 去比较,我们有专门的过滤null的运算符(is nulllis, not null)

null是一个没有意义的值,null+任何数据最后都是null。

(1) 基本where查询

where后加条件

eg:查询总分200以下的同学

select neme, chinese + math + english 总分 from tb_name
where chinese + math + english < 200;
(2) 区间查询between…and…

eg:查询韵文成绩在 [80, 90]的同学及语文成绩

select name, chinese from tb_name
where chinese between 80 and 90;
(3) 包含查询in

eg:查询数学成绩是 58 或者 59 或者 98 或者 99 分的同学及数学成绩

select name, math from tb_name
where math in (58, 59, 98, 99);
(4) 模糊查询like

% 匹配任意多个(包括 0 个)字符

select name from tb_name 
where name like '孙%';
-- 匹配到孙悟空、孙权

_ 匹配严格的一个任意字符

select name from tb_name
where name like '孙_';
-- 匹配到孙权
三、修改(Update)
update 表名 set 属性名 = (表达式)
[WHERe ...] [ORDER BY ...] [LIMIT ...]

若update语句不带条件,则改属性的所有行都受影响。

四、删除(Delete)
delete from  table_name 
[WHERe ...] [ORDER BY ...] [LIMIT ...]

若不加条件,则全表删除

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/952883.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号