软件测试基础04--认识mysql

mysql数据库

1数据库概念

数据库 英文 database 
作用:就是用来存储数据的。类似我们家里的仓库。

数据库分类:
1.网状
2.层次
3.关系型数据库:存的数据是按照一定的组织结构进行存储的。不是随便存储的。

常见的关系型数据:
1.db2
2.oracle
3.mysql
4.sqlserver
5.sqlite 
6.hsql

E-R:模型图
实体:通过矩形
关系:通过菱形
属性:通过椭圆


2.端口

我们计算机任何一个软件都有端口  QQ 迅雷 浏览器  mysql数据库3306 http协议默认端口是80 tomcat:8080
端口的范围0-65535   其中0-1024属于系统软件端口
如何查看软件的端口呢 netstat -ano 
还可以通过三方的软件查看软件的端口。

3.mysql软件的安装

1.直接安装我给大家安装包(5.5)
2.傻瓜式安装 有些配置需要注意
-- 一定要记得把当前环境加到path下 否则在dos下输入MySQL不起作用
-- 配置的过程中 四个复选框必须全部是勾选状态。
3.计算机--管理-->服务--->mysql服务是否已经启动了
4.打开dos 连接MySQL 
mysql -uroot -p
提示输入密码123

如果安装不成功的话需要卸载。卸载一定要卸载干净。
记得来到C:\ProgramData\MySQL\MySQL Server 5.5\data目录下把文件给删除 
删除之后在重新安装。

4 数据库操作常见命令:

1.连接MySQL的命令 
mysql -uroot -p 
2.查看所有的数据库命令
show databases;
3.使用哪个数据库 
use + 数据库名称
4.删除数据库 drop + 数据库名称(在公司里面慎用)
5.查看当前使用的数据库
select database();
6.查看数据库里面有哪些表
show tables;
7.查看表结构
desc 表名。
8.创建数据库 
create database + 数据库名


5.navicat

1.如何使用navicat 
直接解压 找到navicat。exe文件
2.连接mysql数据库 
--起一个连接名
--主机名或者ip地址  如果你的MySQL装到了本地  localhost
--端口 默认是3306
--用户名 root
--密码   就是安装mysql你自己设置的密码

3.创建数据库 
直接在连接名上右键 选择创建数据库 
也可以直接对数据库进行编辑
不想用了 可以直接右键删除。

4.通过navigat创建表
 直接在表上右键 添加表
 表添加成功后 添加字段。删除字段。
 当字段添加成功后。可以向表中添加数据。 数据可以添加 修改 和 删除。
 

6 MySQL数据类型

  • int 整型
    • 无符号(不能表示负数) 有符号(可以表示负数)
  • 小数 decimal
  • 字符串 varchar
  • 日期时间 datatime

7 mysql约束

  • 主键 (非空 且唯一)
  • 非空
  • 唯一
  • 外键
  • 默认值

8 sql简介

sql:指的的是结构化查询语言

sal的分类:

  1. ddl 数据定义语言
  2. dml 数据操纵语言
  3. dcl 数据控制语言
  4. dql 数据查询语言

9 sql的语法:

1.创建表的语法:
-- 1 创建表sql  create table 表名(字段 类型 约束,。。。)
CREATE TABLE student1(name VARCHAR(10))
CREATE TABLE student2(name VARCHAR(10),age int UNSIGNED)
CREATE TABLE student3(id int UNSIGNED PRIMARY KEY auto_increment,name VARCHAR(10),age int UNSIGNED ,height DECIMAL(5,2))

--2.修改表
-- 2 修改表 alter table + 添加 删除 列 
ALTER TABLE student1 ADD age int
ALTER TABLE student1 DROP COLUMN age

--3.删除表
删除表 drop table + 表名  drop + table if exists + 表名
DROP TABLE student1
DROP TABLE if EXISTS student2  

4.向表中插入数据sql
-- 4 向表中插入数据
-- 插入一行数据 插入所有的字段
INSERT INTO student3 VALUES(1,'张三',11,55.5)  
-- 插入一行数据 插入部分字段
INSERT INTO student3(id,name)VALUES(2,'lisi')
-- 插入多行数
INSERT INTO student3 VALUES(4,'张三',11,55.5);
INSERT INTO student3 VALUES(5,'张三',11,55.5);
-- 一次性插入多行数据
INSERT INTO student3 VALUES(6,'lisi',40,33.3),(7,'lisi',40,33.3)

5.修改表中的数据 update 表名 set 列1=值,列2=值 where 条件
UPDATE student3 set name = '狄仁杰',age = 20 WHERE id = 5

6 查询表中所有的数据
SELECT * FROM student

7.删除表中数据
DELETE FROM student3 WHERE id = 6
-- 不加where条件会把整个表中的数据删除
DELETE FROM student3

8.起别名 通过关键字as  一般会用到多表查询的时候。
-- 给表起别名  as
SELECT s.name,s.age FROM students as s
-- 给字段起别名
SELECT name as 姓名,age as 年龄 FROM students

9.去除重复的数据
去除重复的数据 通过distinct关键字
SELECT DISTINCT sex FROM students

10.where的比较运算符
--查询小乔的年龄
SELECT age FROM students WHERE name = '小乔'
--查询20岁以下的学生
SELECT * FROM students WHERE age < 20
--查询家乡不在北京的学生
SELECT * FROM students WHERE hometown != '北京'

11.逻辑运算符
-- 查询年龄小于20的女同学
SELECT * FROM students WHERE age < 20 and sex ='女'
-- 查询女学生或'1班'的学生
SELECT * FROM  students WHERE sex='女' or class = '1班'
-- 查询非天津的学生
SELECT * FROM  students WHERE not hometown = '天津'

12.模糊查询 like % _
-- 查询姓孙的学生
SELECT * FROM students WHERE name like '孙%'
-- 查询姓孙且名字是一个字的学生
SELECT * FROM students WHERE name like '孙_'
-- 查询姓名以乔结尾的学生
SELECT * FROM students WHERE name like '%乔'
-- 查询姓名含白的学生
SELECT * FROM students WHERE name like '%白%'

13.范围查询:
-- 查询家乡是北京或上海或广东的学生
SELECT * FROM students WHERE hometown in('北京','上海','广东')
-- 查询年龄为18至20的学生
SELECT * FROM students WHERE age BETWEEN 18 and 20

14.空判断
-- 查询没有填写身份证的学生
SELECT * FROM students WHERE card is NULL ‘’
--查询填写了身份证的学生
SELECT * FROM students WHERE card is not NULL

15.排序 order by
-- 查询所有学生信息,按年龄从小到大排序
SELECT * FROM students ORDER BY age asc
-- 查询所有学生信息,按年龄从大到小排序,年龄相同时,再按学号从小到大排序11
SELECT * FROM students ORDER BY age DESC,studentNo asc

16.聚合函数
-- 查询学生总数
SELECT count(*) FROM students
-- 查询女生的最大年龄
SELECT max(age) FROM students WHERE sex = '女'
-- 查询1班的最小年龄
SELECT min(age) FROM students WHERE class = '1班'
-- 查询北京学生的年龄总和
SELECT sum(age) FROM students WHERE hometown = '北京'
-- 查询女生的平均年龄
SELECT avg(age) FROM students WHERE sex = '女'

17.分组查询
-- 查询各种性别的人数
SELECT sex,count(*) FROM students GROUP BY sex
-- 查询每个班级中各种性别的人数
SELECT class,sex,count(*) FROM students GROUP BY class,sex
-- 查询男生总人数
SELECT sex,count(*) FROM students GROUP BY sex HAVING sex = '男'

18.limit关键字 获取部分数据 
   比如每次获取新闻的数据一次获取几条
   -- 查询前3行学生信息  3代表从第三条数据开始取 但是不包括第三条  2代表取2条
   SELECT * FROM students LIMIT 3,2  
   
19.多表查询 
什么时候用多表查询?就是我们查询的数据在多张表 一个表不能满足需求。
多表查询的分类:
1.内连接 innner join 
2.左连接 left join 
3.右连接 right join 

20.子查询 
在一个select语句中又包含一个select语句
select * from students where age > (select avg(age) from students);

(声明:本文章为智酷道捷学习笔记,仅供学习,禁止商用,如有侵权,请联系删除)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值