python3 速查参考- python基础 9 -> MySQL基础概念、数据库create、alter、insert、update、delete、select等基础命令
前置步骤:
下载一个绿色版的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 '123456';
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);
难点分析:
测试中,基础的语句可以提高工作效率