前置步骤:
下载一个绿色版的mysql数据库客户端连接工具 :http://wosn.net/821.html
mysql平台为win7(以后会有CentOS上的)
学习目的:
掌握数据库的基本概念,基础的数据库查询语句(测试人员的基础技能)
正式步骤:
step1:可能会用到的一些周边命令
--查看mysql版本
SELECT VERSION();
--查看系统时间
SELECT NOW();
--linux 中设置允许所有用户远程登录sql服务器,%表示所有用户,123456(此字段为数据库密码)
grant all on *.* to root@'%' IDENTIFIED BY '';
step2: SQL语句的分类
- DQL(数据查询语言,比如:select)
- DML(数据操作语言,比如:insert、update、delete)
- DDL(数据定义语言,比如:create、alter、drop)
- DCL(数据控制语言,比如:grant、revoke)
- TCL(事务控制语言,比如:SAVEPOINT、ROLLBACK、SET TRANSACTION、COMMIT)
- 数据库操作(DDL)
--创建数据库
create database db_name; --删除数据库
drop database db_name; --切换数据库
use db_name; --查看当前选择的数据库
select database();使用navicat新建表
在相应的数据库下,新建表,设置完字段信息后,保存,设置表明,右击新建的表,查看对象信息,点击DDL - 表操作(DDL)
修改表:--创建一个students表,id自增长
create table t_student(
id int(2) auto_increment primary key,
sname varchar(10) not null,
address varrchar(255)) --修改表:增加列、修改列、删除列
alter table t_student add grade int;
alter table t_student change grade mygrade int(2);
ALTER table t_student drop mygrade;删除表
--删除表
drop table table_name;查看表结构
--查看表结构
DESC t_person;表的重命名
--表的重命名
rename table old_name to new_name;
step3: 数据操作(DML、DQL)
- 数据的插入
--全字段的插入
insert into t_student values(1,'python','BJ'); --部分字段插入
insert into t_student(id,sname) values(2,'java'); --一次插入多行数据
insert into t_student(id , sname) values(3,'C'),(4,'C#'),(5,'JS'); - 将id设置为自增长
--将id设置为自增长
alter table t_student modify id int(2) auto_increment;此时插入数据:
insert into t_student (id,sname,address) values(0,'html','NJ');
此时虽然输入时id为0,而实际插入数据后,id会自动增长
- 使用update修改数据
--UPDATE
update t_student set address ='目标值' where id =5; - 删除数据
--DELETE 整个表中数据
delete from t_student
--删除id为5的数据
delete from s_student where id =5;
step4: DQL-select语句操作
- 创建dept表
CREATE TABLE `dept` (
`DEPTNO` varchar(255) NOT NULL,
`DNAME` varchar(255) DEFAULT NULL,
`LOC` varchar(255) DEFAULT NULL
); - 创建emp表
CREATE TABLE `emp` (
`EMPNO` int(4) DEFAULT NULL,
`ENAME` varchar(255) DEFAULT NULL,
`JOB` varchar(255) DEFAULT NULL,
`MGR` varchar(255) DEFAULT NULL,
`HIREDATE` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
`SAL` varchar(255) DEFAULT NULL,
`COMM` varchar(255) DEFAULT NULL,
`DEPTNO` int(4) DEFAULT NULL
); - 使用算术表达式
--查询所有员工的年薪
select ename ,sal*12 '年薪' from emp; - 字段别名的设置
as关键字可以不用 - 去除重复项
--去除重复项
select distinct deptno from emp; - 排序:order by,默认为升序asc (↓最上数据为小,下面的数据大),desc为降序 (↓由大到小)
--按月薪,升序排
select ename ,sal from emp order by sal;PS:多字段排序,请在order by后接字段
- 查询条件中,可以使用逻辑运算符
--条件查询
select * from emp where deptno = 10 and sal>1250;
select * from emp where deptno = 20 or job='CLERK';
select * from emp where sal not in (800,1600,2000);
难点分析:
测试中,基础的语句可以提高工作效率