2023.10.21-mysql学习,SQL的四种语言

目录

1 数据库介绍

2 mysql数据库

3 sql语句

数据定义语言 DDL (创建库,创建表,修改表结构)

数据操作语言 DML (插入,删除,更新)

数据查询语言 DQL (查询表数据 select from)

数据控制语言 DCL (创建用户,修改权限)

4 sql数据类型

5 DDL语言

创建数据库

表操作

表结构操作

6 DML语言


1 数据库介绍

  • 数据库概念

    • 存储数据的仓库,本质上是一个文件系统

  • 数据库分类

    • 关系型数据库(二维表格)

      • mysql

      • oracle

      • sql server

      • sqlite

    • 非关系型数据库

      • redis

      • hbase

      • mongodb

2 mysql数据库

  • 关系型数据库中的一种

  • mysql如何登录和退出终端

# 方式一
mysql -uroot -p123456
mysql -uroot -p(回车+密码)
# 方式二
mysql --host=ip地址 --user=root --password=123456

# 退出mysql
quit/exit/ctrl+d

3 sql语句

  • sql语句是结构化查询语言

  • mysql,oracle,...是遵循sql语句规范

  • sql语句分类

    • 数据定义语言 DDL (创建库,创建表,修改表结构)

    • 数据操作语言 DML (插入,删除,更新)

    • 数据查询语言 DQL (查询表数据 select from)

    • 数据控制语言 DCL (创建用户,修改权限)

  • sql通用语法

    • sql可以单行或多行编写,以分号结尾(英文状态下的标点符号)

    • sql语句的关键字不区分大小写,建议大写

    • 注释: 解释说明, 被注释的内容是不会被执行的

      • 单行注释: # + 内容 ctrl + /

      • 多行注释: /**/ shift+ ctrl + /

    • 代码规范书写快捷键: ctrl + alt+ l

4 sql数据类型

  • 数据有不同的类型格式, 数据库查询和计算更加高效

  • 数值类型

    • 整数

      • tinyint

      • int

      • bigint

    • 浮点(小数)

      • float

      • double

      • decimal(5, 2) -> 一共有5位,小数占2位 123.45

  • 字符串类型

    • 中文和字母一定是字符串类型 通过引号引起来的值

    • char: 定长字符串 -> char(3) 'a ', 数据长度一定是3位,不满3位用空格填充 手机号 身份证号

    • varchar: 变长字符串 -> varchar(10) 数据最大长度为10位,可以比10小

    • text: 大文本类型

  • 日期和时间类型

    • date: 年月日 (YYYY-MM-DD)

    • time: 时分秒 (HH:MM:SS)

    • year: 年

    • month: 月

    • datetime: 年月日时分秒

    • timestamp: 时间戳

5 DDL语言

创建数据库

# 创建数据库
create database 数据库名字;
# 创建数据库,不发生报错
create database if not exists 数据库名字;
# 创建数据库,指定字符集 utf8->出现中文,不会发生乱码情况
create database if not exists 数据库名字 charset='utf8';
create database if not exists 数据库名字 character set'utf8';

# 使用数据库
use 数据库名字;

# 查看mysql中数据库
show databases;

# 查看当前使用的数据库
select database();

# 删除数据库
drop database 数据库名字;

# 创建数据库 bigdata_db
# 如果数据库已经存在,再次执行会报错
CREATE DATABASE bigdata_db;
# if not exists,如果数据库不存在就会创建,存在就不再创建
CREATE DATABASE IF NOT EXISTS bigdata_db;
# 创建数据库,指定数据库的字符集为utf8, 不指定utf8,存储中文时会出现乱码情况
CREATE DATABASE IF NOT EXISTS bigdata_db CHARSET = 'utf8';
CREATE DATABASE IF NOT EXISTS bigdata_db CHARACTER SET 'utf8';
# 查看数据库
SHOW DATABASES;
# 使用数据库
USE bigdata_db;
# 查看当前使用的数据库
SELECT DATABASE();
# 删除数据库
DROP DATABASE bigdata_db;

表操作

# 创建表category
CREATE TABLE IF NOT EXISTS categroy
(
    cid   VARCHAR(10) PRIMARY KEY NOT NULL, # 类别id
    cname VARCHAR(100)                      # 类别名称
);
# 查看当前数据库中有多少张表
SHOW TABLES;
# 查看表结构
DESC categroy;
# 查看建表语句
SHOW CREATE TABLE categroy;
# 删除表
DROP TABLE categroy;

表结构操作

# 修改表结构-添加字段
# desc是关键字,如果关键字作为字段名,需要通过 `` 指定
# 字段名是普通的名字,不需要通过 `` 指定
ALTER TABLE categroy ADD `desc` VARCHAR(10);
# 在category表中添加num字段,类型为变长字符串,长度最长为20个字符
ALTER TABLE categroy ADD num VARCHAR(20);
# 修改表中字段名
ALTER TABLE categroy CHANGE `desc` description VARCHAR(30);
# 删除表中字段名
ALTER TABLE categroy DROP description;
# 修改表名
RENAME TABLE categroy TO category2;
ALTER TABLE category2 RENAME TO category3;

6 DML语言

# 向表中插入数据
# 指定表中字段插入数据
INSERT INTO
    category3 (cid, cname)
VALUES
    ('c001', '电器');
# 表中所有字段插入数据 -> 表名后边不跟字段,表示对所有字段插入数据
INSERT INTO
    category3
VALUES
    ('c002', '服饰', '2');
# 一次性插入多条数据
INSERT INTO
    category3 (cid, cname)
VALUES
    ('c003', '书籍'),
    ('c004', '笔记本');
DESC category3;
INSERT INTO
    category3
VALUES
    ('c005', '玩具', 5),
    ('c006', '蔬菜', 6),
    ('c007', '化妆品', NULL);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

白白的wj

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值