软件测试必备数据库知识

数据库操作

1、创建数据库

CREATE DATABASE test;

1.1创建数据库,指定字符集为utf-8

CREATE DATABASE test2 charset=‘utf8’

2、查看创建了那些数据库

SHOW DATABASES;

2.2查看包含qianli的数据库

SHOW DATABASES like ‘%test%’;

3、删除数据库,如果数据库不存在的话,则会报错

DROP DATABASE test;

4、作业:创建一个以自己名字命名的数据库

CREATE DATABASE student;

#创建表,首先要确定我的工作数据库

使用use切换当要操作的数据库中

use student;

1、创建表,有三个很重要的内容,表名称、字段名称、字段类型、【约束】

CREATE TABLE student(

sname char(32),# sname表示学生姓名,char(32)表示每个学生姓名值占32个字符长度

age int#存放age,但是是数字的,而且是整数的

);

2、查看库中有哪些表

SHOW TABLES;

3、查看student表结构

DESC student;

mysql的数据类型

CREATE TABLE student(

sname char(32),

age int,

sex set('男','女'),

height numeric(3,2),

address varchar(255),

love enum('打牌','打游戏','看电视')

)charset='utf8';

1、整数类型 int、smassint、long、tinyint

2、小数类型 float、numric(m,n)# m表示总长,n表示小数位数

3、字符类型 char(32)、varchar(32) # 开辟多少字符空间

4、其他类型 date、time enum(枚举)、set

#显示有哪些表

SHOW TABLES;

查看student表的表结构

DESC student;

往表中添加数据

insert into student(sname,age) values(‘zhangsan’,22);

查看student表中所有的数据

select * from student;

注意:数据表中不能存放完全相同的数据,因为这样没有意义,这样就违背了数据库的第一范式

约束

#1、非空约束 not null

CREATE TABLE student3(

sname char(32) not null,

age int

)charset=‘utf8’;

insert into student3(sname,age) values(‘lisi’,22);

insert into student3(sname,age) values(‘wangwu’,null);

2、唯一约束 unique key

CREATE TABLE student4(

sname char(32) unique key,

age int

)charset=‘utf8’;

insert into student4(sname,age) values(‘zhaoliu’,22);

3、唯一且非空 【主键约束,primary key】

CREATE TABLE student5(

sname char(32) unique key not null,

age int

)charset=‘utf8’;

insert into student5(sname,age) values(‘zhangsan’,22);

4、外键约束 foreign key

5、默认值约束 default ‘值’

增加字段

alter table student

往student表中添加一列

add column sex set(‘f’,‘m’) default ‘f’;

往student表中添加一列

alter table student

add column brith date after sname;

查询student表中的所有数据

select * from student;

添加sno到student表中的第一列

alter table student

add column sno int primary key auto_increment first;

可以同时往表中增加多个字段,增加字段可以指定顺序

alter table student

add column idcard int,

add column kkk char(32)

修改字段

alter table student

modify column sex set(‘f’,‘m’,‘n’) default ‘n’

insert into student(sname) value(‘sd’);

select * from student;

删除字段

alter table student

drop kkk;

select * from student;

删除表

drop table student;

show tables;

可以删除多个表

drop table student3,student4,student6;

#增加数据

CREATE TABLE student(

sno int auto_increment,

sname varchar(10) not null,

sex set(‘男’,‘女’) default(‘女’),

age int default(‘0’),

PRIMARY KEY(sno)

)charset=‘utf8’;

插入部分数据

insert into student (sname) value(‘test1’);

插入的标准语法

insert into student (sno,sname,sex,age) values(7,‘zhangsan’,‘男’,22)

select * from student;

更改数据

语法updata student set 字段名=值 where 字段名=值

select * from student;

标准语句

update student set sex=‘男’ where sno=1;

一次更改多个值,一定要添加where条件,否则会全部更改

update student set age=1 where sex=‘男’;

#数据的删除 delete

delete from 表名 where 字段名=值

#可以删除多条数据,删除性别为空的数据

delete from student where sex is null;

# delete 不加where条件语句是删除全表中的数据

delete from student;

#另一种删除truncate table 只能删除全表数据,不能添加where语句

#truncate table去删除数据,自增长是从1开始的

#truncate 和delete的区别

1、delete可以添加where语句,truncate不能添加where语句

2、delete可以删除部分数据也可以删除全表数据。truncate只能对全表进行删除

3、truncate删除数据自增长会从1开始,delete是接着上一个自增长进行的

#查询

1、单表查询(不带查询条件)

1.1全表查询

1.2查询部分字段

1.3查询带表达式

1.4查询设别名称

1.5查询排序

1.6查询部分数据(limit关键字)

1.7去重复关键字(distinct)

2、单表查询(查询条件)

2.1等值查询

2.2不等值查询

2.3模糊查询

2.4逻辑语句(not,and ,or )多条件查询

2.5区间查询(between and)

2.6集合查询(in)

3、分组查询

3.1mysql函数

3.2聚合函数

3.3分组查询

3.4二次筛选

4、多表查询

4.1等值连接

4.2自身表连接

4.3非等值连接

4.4外连接(左连接和右连接)

5、子查询

5.1子查询语句在from子句中

5.2子查询在where中,但是子查询的结果是单列单行

5.3子查询在where字句中,但是子查询的结果是单列多行或多列多行

# 排序 order by (asc desc),在语句的最后面进行排序

asc 升序排序(默认),desc是降序排序

limit关键字查询部分数据

distinct关键字对显示的结果去重

#模糊查询

#一定要用like关键字,要有%关键字,表示任意内容

#%指的是不定长数量的字符

_下划线指的是要匹配一个字符,而且只能匹配一个字符

#区间查询between and

between and 在两个数之间,小的数在前,大的数在后,包括区间的值

数据库的函数

聚合函数(分组函数)

聚合函数一次可以写多个

1、count(x):统计个数的函数

2、max:求最大值函数

3、min:求最小值函数

4、sum:求和函数(只能是数字)

5、avg:求平均值函数

只能在select中出现,不能在where中出现

分组group by

按什么进行分组

having二次筛选

注意:如果针对于普通字段 用where 在group之前,

如果是聚合函数,用having 在group之后

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值