个人学习笔记3

  • 【知识回顾】
  1. {mysql数据库的基本操作流程?}重点

安装-》登录-》建库-》打开库-》建表-》添加数据-》修改数据-》查询数据

【安装】安装mysql数据库软件(产品)---》升级数据库服务器

【登录】以某个身份登录到数据库服务器中(与mysql数据库建立连接)

mysql数据库产品有自带的数据库(mysql、sys、...)

mysql数据库里面存储整数产品及用户的信息

用户的信息:user表名

管理员:root,密码:123456   

【建库】

格式1:create  database  数据库名;

格式2:create  database  数据库名  charset=utf8;

格式3:create  database  if  not exists   数据库名   charset=utf8;

【打开库】

格式:use  数据库名;

【建表】

格式1:

create table  表名(列名1 数据类型(长度),列名2 数据类型(长度),...)

格式2:给列来增加约束

create table  表名

(列名1 数据类型(长度) 约束,列名2 数据类型(长度) 约束,...)

【往表中插入数据】

格式1:往表所有列中插入一行数据(一对小括号就代表一行数据)

insert  into  表名  values

(‘列1数据’,’列2数据’,’列3数据’);

格式2:往表所有列中插入多行数据(多行数据需要多对小括号,且用逗号隔开)

insert  into  表名  values

(‘列1数据’,’列2数据’,’列3数据’),

(‘列1数据’,’列2数据’,’列3数据’),

...;

格式3:往表中部分列插入一行数据,其中没有数据的列显示为null

(需要指定列,在表后面接括号,在括号里面写上列名)

insert  into  表名(列名1,列名2)  values

(‘列1数据’,’列2数据’);

格式4:往表中部分列插入多行数据

insert  into  表名(列名1,列名2)  values

(‘列1数据’,’列2数据’)

(‘列1数据’,’列2数据’)

...;

说明:

所有列---》直接写表名,意味着给表中所有列插入数据

部分列---》需要指定,在表名后面用小括号指定(在括号里写上部分列)

一行数据---》一对小括号

多行数据---》多对小括号,且用逗号隔开

  1. {借助navicat工具与mysql数据库进行交互操作}

含义:在navicat工具中将基本操作流程走一遍

提前:安装第三方软件(工具):navicat(带有图形界面)

方式1:手动交互(在图形界面上借助鼠标、键盘来完成)

方式2:编写代码   (重点)

操作1:在工具的内部新建文件并编写sql语句

操作:点击“新建查询”

操作2:在外部新建sql文件并编写sql语句,然后加载文件到工具中一次性执行

操作1:在桌面上新建一个.sql文件

操作2:打开sql文件并按照业务编写sql语句

操作3:在工具中加载文件

操作4:一次性执行sql文件,批量运行所有sql语句

  1. {使用sql语句来建库、打开库、建表}

建库:  create database if not exists 数据库名 charset=utf8;

打开库:use  数据库名;

建表:  create table 表名

(列名1 数据类型(长度) 约束,列名2  数据类型(长度) 约束,...);

如果没有约束,insert语句可以反复执行,最终导致数据重复插入,出现数据冗余

插入数据:

insert into 表名 values(真实数据);

if not exists

说明:这是一个判断语句,放在数据库或者表之前

作用:避免因数据库或者表重名而导致语句报错,进而中断整个代码的执行

原理:先去判断数据库或者表是否存在,如果存在,则不创建,

   如果不存在,则创建

单词: exit :出口   exists:存在

在建表时,不仅需要给列声明合适的数据类型,而且还需给列设置合适约束

数据类型:声明某个列中的数据应该插入该类型的数据

三大类型

约束:约束列的数据必须要符合某种规则(主键约束一定要)

六种约束

  1. {mysql数据库常用的三大数据类型?}

分类:数字类型(整数和小数),字符类型(固定字符、可变字符),日期时间(日期、时间)

整数:int

小数:float

固定字符:char

可变字符:varchar

日期:date

作用:声明某个列中的数据应该插入那一类型的数据

说明:数据类型后面的长度是设定数据的范围

缺点:数据可以反复添加,从而导致数据冗余

  1. {扩展:建表时,为列设置(添加)适当约束}  了解

作用:约束列中的数据要符合某种规则

分类:

主键约束,规则:列中数据要做到唯一且非空

含义:数据不能重复,且不可以为空

单词:primary key

格式:列名  数据类型(长度) primary key

说明:一张表必须有主键

非空约束,规则:列中的数据不能为空

单词:not null

格式:列名  数据类型(长度) not null

唯一约束,规则:列中的数据不能重复

单词:unique 

格式:列名  数据类型(长度) unique

说明:为空的次数可以多次

默认值约束,规则:在建表时给列设置了默认值,

如果不给列添加数据,则使用默认值数据

如果给列添加新数据,则使用新添加的数据

单词:default

格式:列名  数据类型(长度) default ‘默认值’

检查约束(在mysql不支持)

规则:检查列中的数据要符合我们自定义的规则

单词:check

格式:列名  数据类型(长度) check(自定义的规则)

比如:

Create table 表名

(列名 数据类型 primary key,

工资 float(7,2) check(工资>5000 and 工资<15000))

比如:

性别 char(1) check(性别=’男’ or 性别=’女’)

表名:员工信息表

列名

员工编号---》主键

员工姓名---》非空

身份证  ---》唯一

地址    ---》默认值

性别    ---》检查

邮箱    ---》检查

...

  1. {往表中插入数据}

单词:insert  into  values

特点:insert语句每次执行都是另起一行插入数据

【insert】:插入,是语句的开头

【into】:方向,往表中,后面一定接的是表

【values】:代表数据,引出真实数据,后面接真实数据

说明:

所有列:直接写表名,就代表表中所有列

部分列:指定列,在表后面加上小括号,小括号里写上部分列

一行数据:一对小括号

多行数据:多对小括号,且括号之间用逗号隔开

分类:

  1. 往表中所有列插入一行数据

格式:insert into 表名 values(‘列1数据’,’列2数据’,’列3数据’,...);

  1. 往表中部分列插入一行数据,没有数据显示null

格式:insert into 表名(列1,列2) values(‘列1数据’,’列2数据’);

  1. 往表中所有列插入多行数据

格式:insert into 表名 values

(‘列1数据’,’列2数据’,’列3数据’,...)

(‘列1数据’,’列2数据’,’列3数据’,...)

(‘列1数据’,’列2数据’,’列3数据’,...);

  1. 往表中部分列插入多行数据

格式:insert into 表名(列1,列2) values

(‘列1数据’,’列2数据’),

(‘列1数据’,’列2数据’),

(‘列1数据’,’列2数据’);

  1. {练习}

案例1:在navicat工具中编写代码完成以下需求:

在nanshan数据库中创建一张kejiyuan表,

结构如下:

列名

数据类型

长度

约束

tid

int

2

Primary key

tname

varchar

10

Not null

job

varchar

5

unique

address

varchar

10

Default ‘深圳’

案例2:在桌面上的记事本中并编写代码完成以下需求:

在longgang数据库中创建一张huawei表,

结构如下:

列名

数据类型

长度

约束

hid

int

2

Primary key

hname

varchar

10

Not null

job

varchar

5

unique

address

varchar

10

Default ‘深圳’

  • 【每日单词】

单词

中文含义

中文发音

database

数据库

德塔贝斯

create

创建

科雷特

charset

字符集

恰赛特

utf8

万国码    全称:utf-8    语言:utf-8

Utf8

show

查看

use

打开

游丝

drop

删除

叫破

table

忒波

int

整数

因特

float

小数

佛洛特

date

日期

德特

char

固定长度字符

varchar

可变长度字符

瓦恰

desc

查看表的结构

格式:desc   表名;

desc

insert

插入

银射特

into

银土

values

数据

歪留斯

Select

from

Primary key

普雷麦雷 k

Not null

偌特 浪

unique

由尼Q

default

check

update

含义:修改的数据

格式:update  表名  set  列名=新数据’;

过程:

  1. 指定表--用update来指定表(update后面接表名)
  2. 指定列--用set来指定列(set后面接列名)
  3. 还需要给列赋予一个新的数据(列后面接一个赋值符号和新数据)

本质:就是对列赋予一个新的数据

阿婆德特

set

设置

作用:指定列,后面接列名

色特

where

歪耳

and

并且、和

作用:连接词,连接多个条件,多个条件之间关系是同时满足

or

或者

作用:连接词,连接多个条件,多个条件之间关系是任意一个满足即可

Between and

作用:介于2个数值范围之间,是闭区间

工资在1000到2000之间(包含1000和2000)

  1. where  工资>=1000 and 工资<=2000
  2. where  工资  between  1000  and  2000

数值:数字、日期

工资不在1000到2000之间(包含1000和2000)

1)where  工资<1000  or  工资>2000

2)where  工资  not  between  1000  and  2000

in

作用:在指定的之间任选其一

工资为1000或者2000或者3000

1)where  工资=1000  or  工资=2000  or  工资=3000

2)where  工资  in(1000,2000,3000)

值:任意数据

姓名为james或者wade或者smith

  1. where 姓名=‘james’ or  姓名=‘wade’ or 姓名=‘smith’
  2. where 姓名 in(‘james’,‘wade’,‘smith’)

  • 【新知识点】

准备工作:

在navicat工具中执行外部的sql文件

数据库:shengge

表:emp  (员工)

dept (部门)

  1. {修改表中的数据}

概念1:修改数据的本质:就是做设置

概念2:对谁做设置:对列设置

概念3:对列做什么样的设置:对列赋予一个新的数据

格式:update  表名  set  列名1=’新数据’,列名2=’新数据’,... where  条件;

单词:update   set   where

分析:

  1. update:指定表,后面一定要接表名。
  2. set:指定列,并给他赋一个新的数据

可以指定多个列

  1. where:带条件,定位行,满足条件的行才被修改,不满足的不会修改

    分类

      全改:将整列的数据改为一样,在实际工作不实用

        简称:不带条件的修改

        格式:update 表名 set 列1="新的数据",列2="新的数据",...;

      部分改:(重点)

概念:部分-》行和列的交集

        简称:带条件的修改

        原理:满足条件的行才被修改

            定位行:借助where 条件表达式来定位行

        格式:

            update 表名 set 列1="新的数据",列2="新的数据"

                where 条件表达式

过程:

指定表+指定列+给列赋值+带条件

比如:

emp表中工资(sal)大于1200的员工的奖金(comm)改为500

代码:

update  emp  set comm=500 where sal>1200;

思路:

三找(找表、找列、找条件)

找表】:被修改的是哪一张表

找列】:那些列的数据要修改

找条件】:要修改的是谁的数据

        【条件表达式】

            1)借助关系运算符来表达

                    >  >=  <  <=  =  !=  <>

                举例1:姓名为张三丰

                      where 姓名="张三丰"

                举例2:工资大于2000

                      where 工资>2000

练习:

表名:emp表

列名:工资列--》sal

                      姓名列--》ename

                      奖金列--》comm

                     部门号--》deptno

           update 表名 set 列1="新的数据",列2="新的数据"

                where 条件表达式

案例1:

emp表中姓名(ename)为’james’的员工工资(sal)改为3000

代码:update  emp  set  sal=3000  where ename=’james’;

案例2:

emp表中工资(sal)大于3000的员工奖金(comm)改为500

代码:update  emp  set comm=500  where  sal>3000;

案例3:

将emp表中工资(sal)小于3000的员工的工资改为3500,

以及奖金(comm)改为600

代码:

update emp set sal=3500,comm=600  where sal<3000;

案例4:

将emp表中部门号(deptno)为30且工资(sal)大于1500

员工的奖金(comm)改为700

代码:

update  emp  set comm=700  where deptno=30 and sal>1500;

案例5:

将emp表中10号部门(deptno)或者20号部门的奖金改为550

代码:

update  emp  set  comm=550 where deptno=10 or deptno=20

概念1:

如果条件有多个,需要借助连接词来连接多个条件

概念2:

根据条件之间的关系,来选择合适连接词

连接多个条件的单词:

And: 并且

格式: 条件1  and  条件2

作用:多个条件要同时满足

Or:  或者

格式: 条件1  or  条件2

作用:多个条件中任意一个满足

笑话:

性别=’男’  or  性别=’女’

update 表名 set 列1="新的数据",列2="新的数据"

                where 条件表达式

案例3:

emp表中部门号(deptno)为30工资(sal)小于1000的员工的奖金(comm)改为600

代码:

案例4:

将emp表中姓名为’james’或者姓名为’wade’的工资改为4000

代码:

案例5:

将emp表中姓名为’james’或者姓名为’wade’的工资增加100

代码:

            2)借助特定的关键字来表达条件

                between and   :介于2个数字范围之间的闭区间(包含边界值)

                not     取反   

Not between and  :在不在2个数字范围之间

Not in  :不在指定的值之间

                in            :在指定的值之间

               

                举例1:

                    工资在2000到3000之间(包含2000和3000)

                写法1: where 工资>=2000 and 工资<=3000

                写法2:where 工资 between 2000 and 3000

                举例2:

                    工资不在2000到3000范围之间

                写法1: where 工资<2000 or 工资>3000

                写法2:  where 工资 not between 2000 and 3000

                举例3:

                    没有工资

                    where 工资=0 or 工资 is null

                举例4:

                    有工资

                    where 工资>0 or 工资 is not null

                举例5:工资为2000或者3000或者4000

                    where 工资=2000 or 工资=3000 or 工资=4000

                    where 工资 in(2000,3000,4000)

练习:

    表:emp

        列:empno(编号)  ename(姓名)  sal(工资) comm (奖金)

    格式:update 表名 set 列1="新的数据",列2="新的数据"

where 条件表达式

    三找:

            找出要修改的是哪一张表

            找出要修改的是那一个列(那个列的数据要被修改)

            找出条件(用where引出)

    案例1:

        将emp表中的编号(empno)为7369的工资(sal)改为20000

    代码:update emp set sal=20000 where empno=7369;

    案例2:

        将emp表中的姓名(ename)为’wade’的工资(sal)改为5000

    代码:update emp set sal=5000 where ename=’wade’;

    案例3:

        将emp表中的姓名(ename)为king的工资(sal)减半

    代码:update emp set sal=sal/2 where ename=’king’;

    案例4:

        将emp表中工资(sal)在3000到5000之间的工资翻2倍

    代码:update emp set sal=sal*2 where sal between 3000 and 5000;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值