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语句(一)相关推荐

  1. 软件测试人员常用的sql语句(三)

    MySQL数据库 文章目录 MySQL数据库 1. 数据准备 1.1创建表并向表中插入数据 2. 连接查询 2.1 基本概念 2.2 内连接 2.3 左连接 2.4 右连接 3. 自关联 3.1 背景 ...

  2. 软件测试人员常用的SQL语句

    一.查询实例 1.select 查询字段 from 表名 where 查询条件 举例说明: 表名:student 表中字段:id,name,age,score,subject,class 表中数据: ...

  3. 初级软件测试工程师之必备SQL语句基础

    作为一个软件测试工程师,我们在测试过程中往往需要对数据库数据进行操作,但是我们的操作大多以查询居多,有时会涉及到新增,修改,删除等操作,所以我们其实并不需要对数据库的操作有特别深入的了解,以下是我在工 ...

  4. 经典SQL语句大全、50个常用的sql语句

    50个常用的sql语句 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,T ...

  5. 常用经典SQL语句大全完整版--详解+实例 (存)

    常用经典SQL语句大全完整版--详解+实例 转 傻豆儿的博客 http://blog.sina.com.cn/shadou2012  http://blog.sina.com.cn/s/blog_84 ...

  6. mysql 10分钟_10分钟入门mysql(含常用的sql语句,mysql常见问题及解决方案)

    开发中常用的sql语句 1,创建一个数据库并指定编码格式 drop database if exists test;create database test default character set ...

  7. 50个常用mysql语句_50个常用的sql语句

    50个常用的sql语句 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,T ...

  8. 常用的sql语句,sql使用大全

    常用的sql语句,sql使用大全 我工作中常用到的sql 插入 查询 更新 介绍其他的sql SQL分类 基本的sql语句 高级查询运算词 我工作中常用到的sql 下面是我工作中常用的sql,每次都是 ...

  9. mysql 输出名称_MySQL常用的SQL语句//输出所有信息showfullfieldsfrom'表名称';//改表

    MySQL常用的SQL语句 //输出所有信息 show full fields from '表名称'; //改表名 ALTER  TABLE table_name RENAME TO new_tabl ...

最新文章

  1. 重磅 | MIT启动IQ计划:研究人类智能,让全世界的机构共同合作
  2. vim中实现CSS、HTML代码自动完成功能
  3. SpringBoot加Jquery实现ajax传递json字符串并回显消息(已实践)
  4. Codeforces - 65D - Harry Potter and the Sorting Hat - 简单搜索
  5. html音频控件隐藏,html5 – Html 5音频标签自定义控件?
  6. Python文件读写模式
  7. 几乎是苹果6倍!华为可穿戴设备出货量Q1同比猛增282%
  8. robots的几种作用
  9. 面试题:return和finally执行
  10. UBUNTU配置samba
  11. 端口扫描命令nmap详解
  12. HLS视频流 H265解码问题处理
  13. 全国计算机一级考试题库及答案(2018)
  14. 【每天一个 Linux 命令】ssh 命令
  15. IT博客大赛,快来围观!【人艰不拆】
  16. 七日杀服务器怎么修改天数,七日杀如何调整天数 | 手游网游页游攻略大全
  17. 华为服务器信息失败,服务器远程信息失败
  18. 小米高通系列清串号打开写号端口工具_手机sn码序列号修改工具,高通串号永久写入!...
  19. Flutter | super.dispose() 的调用顺序
  20. angular *ngFor

热门文章

  1. c语言输入一个字符判断是字母还是数字,输入一个字符,如何判断是字母,数字还是特殊字符...
  2. PTPD2源码解析之:packet的接收和发送
  3. 硬盘使用率100%——禁用SuperFetch
  4. 天生我材必有用,千金散尽还复来(React Hooks + Egg.js + Mysql古诗文全栈项目)
  5. 研究团队利用GAN预测未来长相
  6. java读书心得_范文精选-读书心得体会-java夜未眠读书心得
  7. Unity——小地图实现的办法
  8. 不懂雇主责任险的老板不是好老板
  9. uni-app实现上传图片并显示【跨平台开发教程uniapp教程(米饭科技-app小程序h5源码)】
  10. Java项目-SSM实现完整的BBS论坛