黑马软件测试数据库详细笔记

数据库

1、注释
  • –:单行注释(快捷键Ctrl+/)
  • /* */:多行注释
2、常用数据类型

在这里插入图片描述

3、数据库中的元素
  • 数据库------database
  • 表-----table label: LOOP statement_list IF exit_condition THEN LEAVE label; END IF; END LOOP label;
  • 字段(列)-----filed
  • 记录(行)-----record
4、创建表
  • 语法:creat table 表名(字段名 字段类型,字段名 字段类型)

创建一个字段:

在这里插入图片描述

创建两个字段:
在这里插入图片描述

创建三个字段:

在这里插入图片描述

5、插入数据
  • 语法:insert into 表明 values (值,值,值)

    所有字段设置值,值的顺序与表中字段的顺序对应

在这里插入图片描述

  • 语法:insert into 表明 (字段1,字段2…)values (值1,值2)

    部分字段设置值,值的顺序与给定的字段顺序对应,指定字段插入

    在这里插入图片描述

6、插入多条记录
  • 多条insert语句,用分号隔开

    在这里插入图片描述

  • 一条insert插入多条记录

    语法:insert into 表明 values (值,值),(值,值),(值,值);

    -- 表c插入三条记录,写三条insert语句,语句之间用分号隔开
       INSERT into c VALUES (5,'周瑜', 50);
       INSERT into c (id ,name) VALUES (6,'dff');
       INSERT into c (name) VALUES ('周瑜');
    
  • 一条insert,指定字段插入多条记录

    语法: insert into 表名 (字段名1,字段名2)values (值1,值2),(值1,值2),(值1,值2);

    在这里插入图片描述

7、select 简单查询
  • 查询所有字段

  • 语法: select * from 表名

    (1)查询表的所有字段

    -- 查询表c的所有字段
    select * from c
    

    (2)指定字段名查询

    语法:select 字段名, 字段名 from 表名;

    -- 查询表c的ID字段
    select id from c
    -- 查询表c的ID和name字段
    select id, name from c;
    -- 查询表c的所有字段,但顺序可以自定义
    select name, id, age from c;
    
8、update 修改数据
  • 语法:update 表明 set 字段 = 值,字段 = 值 where 条件
    • 如果没有where条件代表修改表中的所有记录
 -- 例1、修改表c,所有人的年龄(age 字段)改为50
 UPDATE c set age = 50;
  • 修改带有条件的update语句
 -- 修改表c,id为3的记录,姓名(name 字段)改为‘狄仁杰’,年龄(age 字段)改为 20
 UPDATE c set name = '狄仁杰', age = 20 WHERE id = 3;
  • 另外的例子

    -- 修改name为张飞的记录为李白
     UPDATE c set name = '李白' WHERE name = '张飞';
    
9、delete 删除表中的数据
  • 语法:delete from 表名 where 条件
 -- 删除表c当中ID为6的记录
 DELETE FROM c WHERE id = 6;
10、truncate删除表中的记录
  • ​ truncate table 表名; (不能设定条件)
-- 删除表c中的所有数据
truncate table c;
11、delete和truncate的区别
  • 在速度上,truncate>delete
  • 如果想删除部分数据用delete,要带上where子句
  • 如果想保留表而将表中所有数据删除,自增长字段恢复从1开始,用truncate
12、drop table 删除表
  • 语法:drop table 表名;
 -- 删除表a
 DROP TABLE a;
 
 -- 如果表a存在删除表a,如果不存在,不做任何操作
 drop TABLE if EXISTS a;
13、字段的约束
  • 主键(primary key):值不能重复,auto_increment代表值自动增长;
  • 非空(not null):此字段不允许填写空值;
  • 唯一(unique):此字段的值不允许 重复;
  • 默认值(default):当不填写此值时会使用默认值,如果填写时以填写为准;
(1)创建带约束条件的语法格式
create table 表名(
   字段名 数据类型 约束,
   字段名 数据类型 约束,
   ...
);
(2)主键与自增长
  • 带有primary key 的字段,值不能重复;
  • auto_increment 为自增长;
  • 语法
create table 表名(
    字段名 数据类型 primary key auto_increment,
    字段名 数据类型 约束,
    ...
);

例子:

 -- 创建表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
 );
 
 INSERT into d (name , age)VALUES ('张飞',33);
 
 -- 插入指定ID的值
 INSERT INTO d (id ,name ,age) VALUES(6,'关羽', 55);
 
 -- 不指定ID的值
 INSERT into d (name , age)VALUES ('天司',33);
 
 SELECT * from d;
 
  -- 如果不指定字段,主键自增长字段的可以用占位符,0或null
 INSERT into d VALUES (0,'张三',30);
 INSERT into d VALUES (null,'李四',26);
 SELECT * from d;

在这里插入图片描述

(3)非空 not null
  • 这个字段必须有值,若没有值则会报错
 -- 创建表e,字段要求如下:
 -- ID : 数据类型为int unsigned (无符号整数),primary key ,auto_increment 
 -- name 姓名:数据类型为varchar(字符串)长度为10,not null (非空);年龄age:数据类型为int;
 DROP TABLE e;
 CREATE TABLE e (
     id int UNSIGNED,
		 name VARCHAR (10) not null,
		 age int 
 );
 
 INSERT into e VALUES (1,'wsz',20);
 INSERT into e (id , age ) VALUES (1,20);
 SELECT * from e;
 
 INSERT into e (id , age ) VALUES (1,20)
> 1364 - Field 'name' doesn't have a default value
> 时间: 0.001s
(4)唯一 unique
  • 该字段的值不能重复,出现重复报错;
 -- 创建表f,字段要求如下:
 -- ID : 数据类型为int (整数),primary key , 
 -- nam
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值