Day 009 MySQL基础学习第一节

笔者读到《CTF特训营》第二章,发现需要SQL和PHP基础,遂开始学习基础知识

以下主要为笔者学习b站黑马程序员视频教学所做的笔记

目录

1、数据库相关概念

2、MySQL的安装

3、MySQL数据模型

4、SQL通用语法和分类

5、SQL语法-DDL-数据库操作

6、SQL语法-DDL-表操作-创建&查询

7、SQL语法-DDL-表操作-数据类型及案例

8、SQL语法-DDL-表操作-修改&删除

9、SQL语法-DDL-小结


1、数据库相关概念


数据库:

        存放数据的仓库,数据是有组织地进行存储(数据)

数据库管理系统:

        操纵和管理数据库的的大型软件(软件)

主流的关系型数据库管理系统:

        Oracle、MySQL、Microsoft SQL Server、PostgreSQL等等(软件)

SQL:            

        操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准(语言)


2、MySQL的安装


使用MySQL社区版,免费

下载慢可以去镜像下载

安装完后的启动和停止:

        win+r:services.msc

        找到MySQL80

        右键停止

        或者

        以管理员身份运行cmd

        net start mysql80

        net stop mysql80

客户端的连接(要先启动):

        开始界面搜索运行 MySQL 8.0 Command Line Client

        或者

        cmd但要配置环境


3、MySQL数据模型

关系型数据库:

        建立在关系模型基础上,由多张相互连接的二维表组程序数据库。

        特点是

        使用表存储数据,格式统一,便于维护

        使用SQL语言操作,标准统一,使用方便

二维表:

        类似于excel中的表,由表头、行、列组成。

数据模型:

        安装完MySQL后,计算机就成为MySQL数据库服务器,可以通过客户端来连接MySQL数据

        库管理系统,就可以创建多个数据库,一个数据库又可以创建多个表。


4、SQL通用语法和分类

通用语法:

        1、SQL语句可以单行或多行书写,以分号结尾

        2、SQL语句可以使用空格/缩进来增强语句的可读性

        3、MySQL数据库的SQL语句不区分大小写,关键字建议使用大写

        4、注释

                单行注释:--注释内容 或 #注释内容

                多行注释:/*注释内容*/

SQL分类

        DDL:数据定义语言,用来定义数据库对象(数据库,表,字段)

        DML:数据操作语言,用来对数据库中的数据进行增删改

        DQL:数据查询语言,用来查询数据库中表的记录

        DCL:数据控制语言,用来创建数据库用户,控制数据库的访问权限


5、SQL语法-DDL-数据库操作

查询:

        查询所有数据库:

SHOW DATABASES;

        查询当前数据库:

SELECT DATABASE();

创建:

CREATE DATABASE[IF NOT EXISTS]数据库名[DEFAULT CHARSET字符集][COLLATE排序规则];

删除:

DROP DATABASE[IF EXISTS]数据库名;

使用:

USE 数据库名;

上图是创建和查看

上图是删除并查看

上图为切换数据库到base01,查看当前数据库名称


6、SQL语法-DDL-表操作-创建&查询

查询当前数据库所有表:

show tables;

查询表结构:

desc表名;

查询指定表的建表语句:

show create table表名;

表创建:

create table 表(
    字段1 字段1类型[comment 字段1注释],
    字段2 字段2类型[comment 字段2注释],
    字段3 字段3类型[comment 字段3注释],
)[表注释];

表创建实例:

mysql> create table tb_user(
    -> id int comment '编号',
    -> name varchar(50) comment '姓名',
    -> age int comment '年龄',
    -> gender varchar(1) comment '性别'
    -> ) comment '用户表';

 上图为创建成功实例(先进入自己数据库,在自己的数据库中创建)

上图为切换到sys数据库,查看当前数据库所有表

上图为切换到自己数据库,查看刚刚创建的表 

上图为使用desc指令,查看表结构

上图为使用show create指令,查看建表语句 


7、SQL语法-DDL-表操作-数据类型及案例

数据类型:

        MySQL中数据类型很多,主要有三类:数值类型、字符串类型、日期时间类型。

        char(10)后面规定位数

        tinyint(小整数值):1byte

        smallint(大整数值):2bytes

        mediumint(大整数值):3bytes

        int或integer(大整数值):4bytes

        bigint(极大整数值):8bytes

        float(单精度浮点数值):4bytes

        double(双精度浮点数值):8bytes

        decimal(小数值):~

        char(定长字符串):0~255bytes(性别长度固定,可用char)

        varchar(变长字符串):0~65535bytes(用户名长度不固定,可用varchar)

        tinyblob(不超过255个字符的二进制数据):0~255bytes

        tinytext(短文本字符串):0~255bytes

        blob(二进制形式的长文本数据):0~25535bytes

        text(长文本数据):0~65535bytes

        mediumblob(二进制形式的中等长度文本数据):0~16777215bytes

        mediumtext(中等长度文本数据):0~16777215bytes

        longblob(二进制形式的极大文本数据):0~4294967295bytes

        longtext(极大文本数据):0~4294967295bytes

        date(日期值):3(记录生日,年,月,日)

        time(时间值):3

        year(年份值):1

        datetime(混合日期和时间值):8

        timestamp(混合日期和时间值,时间戳):4

案例:

        设计一张员工信息表,要求如下:

        1、编号(纯数字)

        2、员工工号(字符串类型,长度不超过10位)

        3、员工姓名(字符串类型,长度不超过10位)

        4、性别(男/女,存储一个汉字)

        5、年龄(正常人年龄,不可能存储负数)

        6、身份证号(二代身份证号均为18位,带有X字符)

        7、入职时间(取值年月日即可)

create table emp(
	id int comment'编号',
	worknumber varchar(10) comment'工号',
	name varchar(10) comment'姓名',
	gender char(1) comment'性别',
	age tinyint unsigned comment'年龄',
	idcard char(18) comment'身份证号',
	entrydate date comment'入职时间'
)comment'员工表';

        


8、SQL语法-DDL-表操作-修改&删除

添加字段:

alter table 表名 add 字段名 类型(长度)[comment 注释][约束];

案例:

        为前面的员工表添加字段昵称(长度不超过20位)

alter table emp add nickname varchar(20) comment '昵称';

 修改字段-修改数据类型:

alter table 表名 modify 字段名 新数据类型(长度);

修改字段-修改字段名和字段类型:

alter table 表名 change 旧字段名 新字段名 类型(长度)[comment 注释][约束];

案例:

        将前面的员工表中nickname字段修改位username,类型为varchar(30)。

alter table emp change nickname username varchar(20) comment'用户名';

删除字段:

alter table 表名 drop 字段名;

 案例:

        删除前表中username字段。

alter table emp drop username;

修改表名:

alter table 表名 rename to 新表名;

 案例:

        将emp表的表名改为employee。

alter table emp rename to employee;

删除表:

drop table[if exists] 表名;

 删除指定表,并重新创建该表:

truncate table 表名;

9、SQL语法-DDL-小结

#DDL-数据库操作
show databases;
create database 数据库名;
use 数据库名;
select database();
drop database 数据库名;

#DDL-表操作
show tables;
create table 表名();
desc 表名;
show create table 表名;
alter table 表名 add/modify/change/drop/rename to;
drop table;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值