五天搞定Mysql基础知识-Day01

第一章 数据库简介

一、为什么学习数据库

        在处理大量的数据时,数据库无疑是最方便快捷的处理工具。

二、数据库是什么

三、关系型数据库

        所谓关系型数据库,由多张有关联的表组成的数据库。

        关系型数据库的主要产品(Oracle、MySQL、Microsoft SQL Server、SQLite)

四、关系型数据库核心元素

        1、数据库(表的集合,一个数据库中能够有多个表);

        2、表(由行和列组成的二维表格);

        3、行(记录);

        4、列(字段);

五、MySQL简介

        MySQL是一个关系型数据库管理系统,MySQL开源、支持多平台、免费、使用广泛。

六、SQL语言

        1、SQL语言主要分为:

                DQL:数据查询语言,用于对数据进行查询,如select;

                DDL:数据定义语言,进行数据库、表的管理等,如creat、drop;

                DML:数据操作语言,对数据进行增、删、改、查,如:insert、update、delete;

                TPL:事务处理语言,对事务进行处理,包括begin transaction、commit、rollback;

        2、SQL语言不区分大小写

第二章 Navicat使用

一、学习目标

        用navicat对数据库进行操作;

二、连接到本机的MySQL

三、数据库操作

四、编写和运行SQL语言

第三章 SQl语言基础

一、学习目标

        1、掌握CREATE TABLE、DROP TABLE语句

        2、掌握:增加INSERT、查询SELECT、删除DELETE、修改UPDATE表语句;

二、SQL语言中的注释

        1、单行注释

                格式:--注释内容

                注意:--与注释内容之间用空格分隔

        2、多行注释

                格式:/*注释内容*

                在Navicat中按ctrl+/快速注释选中的SQL代码

                在Navicat中按ctrl+shift+/选中SQL代码取消注释

三、MySQL常用数据类型

               1、整数:int,与符号范围(-2147483648,2147483648);无符号范围(0,4294967295),如:int unsigned,代表设置一个无符号整数;

        2、小整数:tinyint,有符号范围(-128,127),无符号范围(0,255),如:tinyint unsigned,代表设置一个无符号的小整数

        3、小数:decimal,如decimal(5,2)表示共存5位数,小数占2位,不能超过2位,整数占3位,不能超过3位;

        4、字符串:varchar,如varchar(3)表示最多存3个字符,一个中文或一个字母都占一个字符;

5、日期时间:datetime,范围(1000-01-01 00:00:00~9999-12-31 23:59:59),如‘2024-01-23 12:29:59’.

四、表、字段、记录

        1、表(table):数据库中存储数据的基本单位,表是一个由行和列组成的二维表格结构。

        2、字段(field):表中的列,在数据库中,叫做字段(field)。

        3、记录(record):表中的一行,在数据库中,叫做记录(record)。

五、CREATE TABLE 创建表

语法:

create table 表名(

字段名 数据类型,

字段名 数据类型

...

);

例1:创建表a,字段要求:name(姓名),数据类型:varchar(字符串),长度为10

CREATE TABLE a(

NAME VARCHAR(10)

);

例2:创建表b,字段要求:name(姓名),数据类型:varchar(字符串),长度为10;height(身高),数据类型:decimal(小数),一个5位,其中3位为整数,2位为小数。

CREATE TABLE b(

name varchar(10),

height decimal(3,2)

);

例3:创建表c,字段要求:id:数据类型为int(整数);name(姓名),数据类型:varchar(字符串),长度为20;age年龄:数据类型为tinyint unsigned(无符号小整数);

CREATE TABLE c(

id int,

NAME VARCHAR(20),

age TINYINT UNSIGNED

);

六、INSERT 添加数据

1、添加一条记录:SQL语句中,字符串用单引号或者双引号引起来,数字可以省略引号。

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

insert into 表名 values(...);

例1:表 c 插入一条记录,设置所有字段信息

insert into c values(0,‘亚瑟’,22);

格式二:部分字段设置值,值的顺序与给出的字段顺序对应

insert into 表名 (字段1,...) values (值1,...);

例2:表c插入一条记录,只设置id和姓名name

INSERT INTO c(id,NAME) VALUES (1,'老夫子');

2、添加多条记录

格式一:写多条insert语句,语句之间用英文分号隔开

例3:表c插入三条记录,写三条insert语句,语句之间用分号隔开

INSERT INTO c(id,NAME,age) VALUES (3,'刘宇',30);

INSERT INTO c VALUES (4,'魏翔',40);

INSERT INTO c(id,NAME,age) VALUES (5,'牛郎',70);

格式二:写一条insert语句,添加多条记录,数据之间用英文逗号隔开

insert into 表名 values(...),(...),...;

例4:表c插入多条记录,用一条insert语句,数据之间用逗号隔开

INSERT INTO c VALUES(6,'庄子',23),(7,'孟子',40);

格式三:写一条insert语句,设置指定字段值

insert into 表名(字段1,...) values (值1,...),(值1,...),...;

例5:表c插入多条记录,用一条insert语句,只设置姓名和年龄

INSERT INTO c(NAME,age) VALUES ('刘备',26),('张飞',30);

七、SELECT 简单查询

1、查询所有字段

语法:select*from 表名

例1:查询表c所有数据

SELECT*FROM c;

2、查询指定字段

语法:select 字段1,字段2,...... from 表名;

例2:查询表c的id字段;查询表c的id和age字段;查询表c的所有字段,但顺序自定义;

SELECT id FROM c;

SELECT id,age FROM c;

SELECT id,name,age FROM c;

八、UPDATE 修改数据

语法:update 表名 set 字段1=值1,字段2=值2...where 条件;

例1:修改表c,所有人的年龄(age 字段)改为50

UPDATE c SET age=50;

例2:修改表c,id为3的记录,姓名(name 字段)改为‘狄仁杰’,年龄(age字段)改为20

UPDATE c SET name='狄仁杰',age=20 WHERE id=3;

九、DELETE 删除表中数据

语法:delete from 表名 where 条件;

例1:删除表c中id为6的记录

DELETE FROM c WHERE id=6;

例2:删除表c的所有记录

DELETE FROM c;

十、TRUNCATE 删除表中数据

语法:turncate table 表名;(删除表中所有数据,保留表结构)

例:删除表c所有数据

turncate table c;

十一、DELETE和TURNCATE的区别

1、在速度上,turncate > delete;

2、如果想删除部分数据用delete,注意带上where子句;

3、如果想保留表而将所有数据删除,自增长字段恢复从1开始,用turncate;

十二、DROP TABLE 删除表

语法1:DROP TABLE 表名;

例1:删除表a

DROP TABLE a;

语法2:DROP TABLE if exists 表名;

例2:如果表a存在就删除表a,如果不存在,不操作

DROP TABLE if EXISTS a;

第四章 字段的约束

一、常用约束介绍

1、主键(primary key):值不能重复,auto_increment代表值自动增长;

2、非空(not null):此字段不允许填写空值;

3、惟一(unique):此字段不允许重复;

4、默认值(default):当不填写此值时会使用默认值,如果填写时以填写为准。

二、创建带约束字段的语法格式

create table 表名(

字段名 数据类型 约束,

字段名 数据类型 约束

...

);

三、主键与自增长

1、带有primary key(主键)的字段,值不能重复;

2、auto_increment为自增长;

3、语法

create table 表名(

字段名 数据类型 primary key auto_increment,

字段名 数据类型 约束

...

);

例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

);

例2:不指定id字段值,系统会自动填写,且自增长

-- 插入时候指定了id的值

INSERT INTO d (id,NAME,age) VALUES (3,'曹操',30);

-- 不指定id值

INSERT INTO d (name,age) VALUES ('刘备',30);

SELECT * FROM d;

例3:所有字段都插入,但没写自增长字段值,该语句会出现错误

insert into d values ('乾隆',60);

解决方案:使用占位符,通常使用0或者null(空)来占位

例4:用0或者null来占位,实现自增长字段的插入

INSERT INTO d (id,name,age) VALUES (null,'康熙',30);

INSERT INTO d (id,NAME,age) VALUES (0,'光绪',50);

四、非空(not null)

1、带有not null(非空)的字段,值不能为空;

2、语法:

create table 表名(

字段名 数据类型 not null,

...

);

例1:创建表e,字段要求如下:

id:数据类型为int unsigned(无符号整数)

name姓名:数据类型为varchar(字符串)长度为10,not null(非空)

age年龄:数据类型为int(整数)

3、非空字段表,insert插入数据一定要指定字段值,不然会插入失败

五、惟一(unique)

1、此字段的值不允许重复;

2、语法:

create table 表名(

字段名 数据类型 unique ,

...

);

例1:创建表f,字段要求如下:

id:数据类型为int unsigned(无符号整数)

name姓名:数据类型为varchar(字符串)长度为10,unique(惟一)

age年龄:数据类型为int(整数)

CREATE TABLE f(

id int UNSIGNED,

name VARCHAR(10) UNIQUE,

age int

);

INSERT INTO f (id,NAME,age) VALUES (1,'张飞',30);

-- 报错,name惟一不可以重复

INSERT INTO f (id,NAME,age) VALUES (2,'张飞',40);

SELECT * FROM f;

六、默认值(default)

1、当不填写此值时会使用默认值,如果填写时以填写为准;

2、语法

create table 表名(

字段名 数据类型 default值 ,

...

);

例1:创建表g,字段要求如下:

id:数据类型为int(整数)

name姓名:数据类型为varchar(字符串)长度为10

age年龄:数据类型为int(整数),default(默认值)为30

CREATE TABLE g(

id int,

NAME VARCHAR(20),

age int DEFAULT(30)

);

INSERT INTO g (id,name) VALUES (1,'刘备');

SELECT * FROM g;

  • 17
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

畅畅菜鸟

您的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值