DAY2 MySQL学习笔记
MySQL的数据模型
关系型数据库(RDBMS):建立在关系模型基础上,由多张相互连接的二维表组成的数据库
格式统一便于维护,使用SQL操作,标准统一,使用方便
通过表存储数据的数据库:RDBMS
不通过表存储数据的数据库:非RDBMS
操作逻辑:使用SQL语句在DBMS里面操作数据库,在数据库中创建表,对表进行处理
SQL
SQL通用语法
1.可单行或多行编写,分号结尾,一定要有分号,不然会不执行
2.可使用空格和缩进增强可读性
3.MySQL的数据库的SQL不区分大小写,建议大写
4.注释
单行注释:–注释内容或#注释内容(MySQL特有)
多行注释:/*注释内容 */
SQL分类
分类 | 全称 | 说明 | 此表示例 |
---|---|---|---|
DDL | Data Definition Language | 数据定义语言,用来定义数据库对象(数据库,表,字段) | 就是此表的分类,全称,说明这一行的内容 |
DML | Data Manipulation Language | 数据操作语句,用来对数据库中的表进行增删改查 | |
DQL | Data Query Language | 数据查询语言,用来查询数据库中表的记录 | |
DCL | Data Control Language | 数据控制语言,用来创建用户、控制数据库的访问权限 |
DDL数据定义语言
DDL-数据库
1.查询
查询所有数据库
SHOW DATABASES;
查询当前数据库
SELECT DATABASE();
--一定要加括号不然会报错
2.创建
CREAT DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];
/*[IF NOT EXISTS]如果这个数据库名称不存在则创建;如果存在,则不执行任何操作
[DEFAULT CHARSET 字符集]可略,UTF8不建议,因为只3个字节,建议UTF8MB4,有4个字节
[COLLATE 排序规则]可略
*/
3.删除
DROP DATABASE [IF EXISTS] 数据库名;
4.使用
USE 数据库名;
--切换到数据库,使用指定的数据库
DDL-表操作-查询
1.查询当前数据库所有表
前提是你需要用USE指令进入到数据库,才可查看
SHOW TABLE;
2.查询表结构
DESC 表名;
3.查询指定表的表语句
SHOW CRRATE TABLE 表名;
DDL-表操作-创建
CREATE TABLE 表名(
字段1 字段1类型[COMMENT 字段1 注释],
字段2 字段2类型[COMMENT 字段2 注释],
字段3 字段3类型[COMMENT 字段3 注释],
......
字段n 字段n类型[COMMENT 字段n 注释]
)[COMMENT 表注释];
--最后一个字段,那最后是没有逗号的
mysql> create table tb_user(
-> id int comment '编号',
-> name varchar(50) comment '姓名',
-> age int comment '年龄',
-> gender varchar(1) comment '性别'
-> ) comment '用户表';
Query OK, 0 rows affected (0.02 sec)
/*创建之后查看建没建成功*/
mysql> show tables;
+------------------+
| Tables_in_itcast |
+------------------+
| tb_user |
+------------------+
1 row in set (0.00 sec)
/*看表里面的字段及字段内容,查看表结构*/
mysql> desc tb_user;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(50) | YES | | NULL | |
| age | int | YES | | NULL | |
| gender | varchar(1) | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
/*要查看字段的含义,详细信息*/
mysql> show create table tb_user;
+---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tb_user | CREATE TABLE `tb_user` (
`id` int DEFAULT NULL COMMENT '编号',
`name` varchar(50) DEFAULT NULL COMMENT '姓名',
`age` int DEFAULT NULL COMMENT '年龄',
`gender` varchar(1) DEFAULT NULL COMMENT '性别'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户表' |
+---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)
/*
ENGINE=InnoDB此为存储引擎,第二篇章会讲到
DEFAULT CHARSET=utf8mb4 默认字符集
COLLATE=utf8mb4_0900_ai_ci排序规则,默认的
*/
日记:今天花大概1h学习内容,感觉进度很慢,但是都听懂也会用了,只能一步步来吧,如果笔记有问题也希望大家指正。