软件测试人员常用的sql语句(一)
MySQL数据库
文章目录
- MySQL数据库
- 1. Navicat基本使用
- 2. SQL语言中的注释
- 3. MySQL的常用数据类型
- 4. 数据中的元素
- 5. 创建表
- 6. 插入数据
- 7. 插入多条数据
- 8. select查询表
- 查询所有字段
- 指定字段命查询
- 9. update修改数据
- 10. delete 删除记录
- 11. truncate table 删除表的数据
- 12. 删除表
- 13. 字段的约束
- 一、常用的约束介绍
- 二、创建带约束字段的语法格式
- 14. 非空
- 15. 唯一
- 16. 默认值
1. Navicat基本使用
- 连接MySQL:
- 连接到mysql数据库后,首先要创建数据库:
- 用鼠标右键选择新建数据库
- 打开数据库,新建查询:
- 看到如下结果,代表navicat连接mysql设置成功:
2. SQL语言中的注释
- "- -"行注释
- /* 注释内容 */
3. MySQL的常用数据类型
- 数值类型:
数据类型 | 描述 |
---|---|
TINYINT(SIZE) | -128到127常规。0到255无符号。括号中规定最大位数 |
INT(SIZE) | -2147483648到2147483647常规。 |
FLOAT(SIZE,D) | 带有浮动小数点的小数字。在括号中规定最大位数。在d参数中规定小数点右侧的最大位数。 |
DOUBLE(SIZE,D) | 带有浮动小数点的大数字。在括号中规定最大位数。在d参数中规定小数点右侧的最大位数。 |
DECIMAL(SIZE,D) | 作为字符串存储的double类型,允许固定的小数点。 |
- 日期和时间类型:
数据类型 | 描述 |
---|---|
DATA() | 日期。格式:YYYY-MM-DD 注释:支持的范围是从’1000-01-01’到’9999-12-31’ |
DATATIME() | 日期和时间的组合。格式:YYYY-MM-DD HH:MM:SS 注释:支持的范围是从’1000-01-01 00:00:00’到’9999-12-31 23:59:59’ |
TIME() | 时间。格式:HH:MM:SS 注释:支持范围是从’-838:59:59’到’838:59:59’ |
YEAR() | 2位或4位格式的年。注释:4位格式所允许的值:1901到2155。2位格式所允许的值:70到69,表示从1970到2069。 |
- 字符串类型:
数据类型 | 描述 |
---|---|
CARCHAR(SIZE) | 保存可变长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的最大长度。最多255个字符。注释:如果值的长度大于255,则被转换位TEXT类型。 |
TEXT | 存放最大长度为65535个字符的字符串。 |
4. 数据中的元素
- 数据库------database
- 表------table
- 字段(列)------field
- 记录(行)------record
5. 创建表
- 语法:create table 表名(字段名 字段类型,字段名 字段类型);
例1:创建表a,字段要求:name(姓名),数据类型:varchar(字符串),长度为10create table a(name varchar(10));
- 创建两个字段的表:
例2:创建表b,字段要求:name(姓名),数据类型为varchar(字符串)长度为10;height(高度),数据类型为decimal(小数),一共五位,其中3位为整数,两位为小数。create table b(name varchar(10),height decimal(5,2));
- 创建三个字段的表:
例3:创建表c,字段要求如下:id 数据类型 int(整数);name 姓名 数据类型 varchar(字符串)长度为20;age 年龄 数据类型 tinyint unsigned (无符号小整数);create table c(id int,name varchar(20),age tinyint unsigned);
6. 插入数据
- 表中的全字段插入数据,语法:insert into 表名 values(值1, 值2, 值3);
例1:往表c插入一条数据insert into c values(0, "张飞", 30);
- 指定的字段插入数据,语法:insert into 表名 (字段1,字段2)values(值1, 值2);
例2:表c插入一条记录,只设置id 编号和姓名 nameINSERT into c (id, name) VALUES (11, "张秦王");例3:表c插入一条记录,只设置id 编号和姓名 ageINSERT into c (id, age) VALUES (11, 20);
7. 插入多条数据
- 多条insert语句,用分号隔开
例1:表c插入三条记录,写三条insert语句,语句之间使用分号隔开insert into c values(5, '周瑜', 50);insert into c (id, name) values(6, '鲁肃');insert into c (name) values('诸葛亮');
- 一条insert语句指定字段插入多条记录,语法:insert into 表名 (字段1, 字段2, 字段3) values(值1, 值2, 值3),(值1, 值2, 值3),(值1, 值2, 值3);
例1:表c中插入多条记录,用一条insert语句,数据之间使用逗号隔开INSERT into c (id, name) VALUES (11, "张秦王"),(12, "张嬴政"),(13, "张康熙");
8. select查询表
查询所有字段
- 语法:select * from 表名;
例1:查询表c的所有字段select * from c;
指定字段命查询
- 语法:select 字段命1,字段命2 from 表名;
例1:查询表c的id字段select id from c;例2:查询表c的id和age字段select id, age from c;例3:查询表c的所有字段,但顺序自定义select name, id, age from c;
9. update修改数据
- 语法:update 表名 set 字段 = 值, 字段 = 值 where 条件;
(如果没有where条件代表修改表中的所有记录)
例1:修改表c,所有人的年龄(age 字段)改为50update c set age = 50;
- 带有条件的update语句
例1:修改表c,id为3的记录,姓名(name 字段)改为‘狄仁杰’,年龄(age 字段)改为 20update c set name = '狄仁杰', age = 20 where id =3;
- 另外的例子
例1:修改name为刘备的记录为李白update c set name = '李白' where name = '刘备';例2:id大于10的age长一岁update c set age = age + 1 where id > 10;
10. delete 删除记录
- 语法:delete from 表名 where 条件;
例1:删除表c中id为6的记录delete from c where id = 6;例2:删除c中name为诸葛亮的记录delete from c where name = '诸葛亮';例3:删除年龄大于50的记录delete from c where age = 50;例4:删除id小于3的记录delete from c where id < 3;例5:删除所有记录delete from c;
11. truncate table 删除表的数据
- 语法:truncate table 表名;
例1:删除表c中的所有记录truncate table c;
- delete 和 truncate的区别
- 在速度上,truncate > delete;
- 如果想删除部分数据用delete,注意带上where子句;
- 如果想保留表而将所有数据删除,自增长字段恢复从1开始,用 truncate;
12. 删除表
- 语法一:drop table 表名
-- 删除表adrop table a;
- 语法二:drop table if exists 表名;
-- 如果a存在,就删除a,如果不存在,什么也不做drop table if exists a;
13. 字段的约束
一、常用的约束介绍
- 主键(primary key):值不能重复,auto_increment代表值自动增长;
- 非空(not null):此字段不允许填写空值;
- 唯一(unique):此字段的值不允许重复;
- 默认值(default):当不填写此值时会使用默认值,如果填写时以填写为准。
二、创建带约束字段的语法格式
create table 表名(字段名 数据类型 约束,字段名 数据类型 约束,字段名 数据类型 约束...);
- 值会系统自动维护,字段增长
-- 例1:创建表d,字段如下:
-- id:数据类型为 int UNSIGNED(无符号整数),PRIMARY KEY(主键), auto_increment(自增长);
-- name 姓名:数据类型为varchar(字符串)长度为10;
-- age 年龄:数据类型为int(整数)。
CREATE TABLE d(id int UNSIGNED PRIMARY KEY auto_increment,name VARCHAR(10),age INT)
-- 删除表中id = 2的那条记录
DELETE FROM d WHERE id = 2;
-- 删除表中所有的记录
TRUNCATE TABLE d;-- 不指定id值
INSERT INTO d (name, age) values ('秦叔', 20);
INSERT INTO d (name, age) values ('程咬金', 30);
INSERT INTO d (id, name, age) values (3, '茅山道士', 30);-- 插入的时候指定id的值
INSERT INTO d (id, name, age) values (6, '尉迟琳嘉', 40);-- 如果不指定字段,主键自增长字段的值可以用占位符,0或null
INSERT INTO d VALUES(0, '黄鸿', 60), (NULL, '张三丰', 70);
SELECT * from d;
14. 非空
- 非空not null
- 这个字段必须有值,如果没有值,insert会插入失败
-- 例1:创建表e,字段如下:
-- id:数据类型为 int UNSIGNED(无符号整数);
-- name 姓名:数据类型为varchar(字符串)长度为10,not null(非空);
-- age 年龄:数据类型为int(整数)。CREATE TABLE e(id int UNSIGNED,name VARCHAR(10) not null,age INT);
insert into e values(1, '张三', 44);
insert into e (id, age) values (2, 55);
select * from e;
15. 唯一
- 唯一 unique
- 字段的约束为唯一,表示字段的值不能重复
-- 例1:创建表f,字段如下:
-- id:数据类型为 int (整数);
-- name 姓名:数据类型为varchar(字符串)长度为10,unique(唯一);
-- age 年龄:数据类型为int(整数)。CREATE TABLE f(id int,name VARCHAR(10) unique,age INT);
insert into f values(1, '张三', 20);
insert into f values(2, '李四', 30);
insert into f values(1, '王五', 20);
select * from f;
16. 默认值
- default值
- 当一个字段有默认值约束,插入数据时,如果指定了值,那么默认值无效,如果没有指定值,那么会使用默认值。
-- 例1:创建表g,字段如下:
-- id:数据类型为 int (整数);
-- name 姓名:数据类型为varchar(字符串)长度为10;
-- age 年龄:数据类型为int(整数),default(默认值) 30。CREATE TABLE g(id int,name VARCHAR(10) unique,age INT default 30);
-- 插入的记录时指定age的值
insert into g (id, name, age) values (1, '张三' 40);
-- 插入记录时不指定age的值
insert into g (id, name) values (2, '王五');
select * from g;
软件测试人员常用的sql语句(一)相关推荐
- 软件测试人员常用的sql语句(三)
MySQL数据库 文章目录 MySQL数据库 1. 数据准备 1.1创建表并向表中插入数据 2. 连接查询 2.1 基本概念 2.2 内连接 2.3 左连接 2.4 右连接 3. 自关联 3.1 背景 ...
- 软件测试人员常用的SQL语句
一.查询实例 1.select 查询字段 from 表名 where 查询条件 举例说明: 表名:student 表中字段:id,name,age,score,subject,class 表中数据: ...
- 初级软件测试工程师之必备SQL语句基础
作为一个软件测试工程师,我们在测试过程中往往需要对数据库数据进行操作,但是我们的操作大多以查询居多,有时会涉及到新增,修改,删除等操作,所以我们其实并不需要对数据库的操作有特别深入的了解,以下是我在工 ...
- 经典SQL语句大全、50个常用的sql语句
50个常用的sql语句 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,T ...
- 常用经典SQL语句大全完整版--详解+实例 (存)
常用经典SQL语句大全完整版--详解+实例 转 傻豆儿的博客 http://blog.sina.com.cn/shadou2012 http://blog.sina.com.cn/s/blog_84 ...
- mysql 10分钟_10分钟入门mysql(含常用的sql语句,mysql常见问题及解决方案)
开发中常用的sql语句 1,创建一个数据库并指定编码格式 drop database if exists test;create database test default character set ...
- 50个常用mysql语句_50个常用的sql语句
50个常用的sql语句 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,T ...
- 常用的sql语句,sql使用大全
常用的sql语句,sql使用大全 我工作中常用到的sql 插入 查询 更新 介绍其他的sql SQL分类 基本的sql语句 高级查询运算词 我工作中常用到的sql 下面是我工作中常用的sql,每次都是 ...
- mysql 输出名称_MySQL常用的SQL语句//输出所有信息showfullfieldsfrom'表名称';//改表
MySQL常用的SQL语句 //输出所有信息 show full fields from '表名称'; //改表名 ALTER TABLE table_name RENAME TO new_tabl ...
最新文章
- 重磅 | MIT启动IQ计划:研究人类智能,让全世界的机构共同合作
- vim中实现CSS、HTML代码自动完成功能
- SpringBoot加Jquery实现ajax传递json字符串并回显消息(已实践)
- Codeforces - 65D - Harry Potter and the Sorting Hat - 简单搜索
- html音频控件隐藏,html5 – Html 5音频标签自定义控件?
- Python文件读写模式
- 几乎是苹果6倍!华为可穿戴设备出货量Q1同比猛增282%
- robots的几种作用
- 面试题:return和finally执行
- UBUNTU配置samba
- 端口扫描命令nmap详解
- HLS视频流 H265解码问题处理
- 全国计算机一级考试题库及答案(2018)
- 【每天一个 Linux 命令】ssh 命令
- IT博客大赛,快来围观!【人艰不拆】
- 七日杀服务器怎么修改天数,七日杀如何调整天数 | 手游网游页游攻略大全
- 华为服务器信息失败,服务器远程信息失败
- 小米高通系列清串号打开写号端口工具_手机sn码序列号修改工具,高通串号永久写入!...
- Flutter | super.dispose() 的调用顺序
- angular *ngFor
热门文章
- c语言输入一个字符判断是字母还是数字,输入一个字符,如何判断是字母,数字还是特殊字符...
- PTPD2源码解析之:packet的接收和发送
- 硬盘使用率100%——禁用SuperFetch
- 天生我材必有用,千金散尽还复来(React Hooks + Egg.js + Mysql古诗文全栈项目)
- 研究团队利用GAN预测未来长相
- java读书心得_范文精选-读书心得体会-java夜未眠读书心得
- Unity——小地图实现的办法
- 不懂雇主责任险的老板不是好老板
- uni-app实现上传图片并显示【跨平台开发教程uniapp教程(米饭科技-app小程序h5源码)】
- Java项目-SSM实现完整的BBS论坛