目录
一.MySql
1 简介
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS(Relational Database Management System,关系数据库管理系统) 应用软件之一。
2 访问与下载
官方网站:MySQL
3 配置环境变量
Windows
创建MYSQL_HOME:C:\Program Files\MySQL\MySQL Server 5.7
追加PATH:%MYSQL_HOME%\bin;
MacOS / Linux
终端中输入cd ~ 进入目录,并检查.bash_profile是否存在,有则追加,无则创建
创建文件 touch .bash_profile
打开文件 open .bash_profile
输入export PATH=${PATH}:/usr/local/mysql/bin 保存并退出终端
4 MySQL配置文件
在MySQL安装目录中找到my.ini文件,并打开my.ini文件查看几个常用配置参数
参数 | 描述 |
---|---|
default-character-set | 客户端默认字符集 |
character-set-server | 服务器端默认字符集 |
port | 客户端和服务器端的端口号 |
default-storage-engine | MySQL默认存储引擎 INNODB |
二.SQL语言
1 概念
SQL(Structured Query Language,结构化查询语言)是一种专门用于与数据库通信的编程语言。它被广泛用于关系数据库管理系统(RDBMS)中,用来查询、操作、和管理数据。
白话: 操作MySql的语言.「增、删、改、查」
2 DDL-对库的操作
1.mysql> SHOW DATABASES; #显示当前MySQL中包含的所有数据库
2.mysql> CREATE DATABASE db1; #创建mydb数据库
3.mysql> CREATE DATABASE IF NOT EXISTS db4; #如果db4数据库不存在的话,则创建;如果存在的话,则不创建。4.mysql> SHOW CREATE DATABASE db2; #查看创建数据库时的基本信息
5.mysql> DROP DATABASE db1; #删除数据库db1
6.mysql> USE db1;# 表示你要使用yyds2305这个数据库.
6.mysql> SELECR DATABASE(); #查看当前所使用的数据库
3 DDL-对表的操作
1. # 创建表
# crate database 表名字;
CREATE TABLE user(
id int, # id,:表示字段名称, int:表示该字段的类型.
name VARCHAR(128),
gender VARCHAR(1),
address VARCHAR(256) # 最后一行不要逗号
);
2. #查看表结构
#desc 表名字;
DESC user;
3. #查看建表语句
#show create table 表名;
show CREATE TABLE user;
-- CREATE TABLE `user` (
-- `id` int DEFAULT NULL,
-- `name` varchar(128) DEFAULT NULL,
-- `gender` varchar(1) DEFAULT NULL,
-- `address` varchar(256) DEFAULT NULL
-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ciENGINE=InnoDB, 指定当前表的存储引擎.
4. # 往已经创建好的表当中添加一列.
ALTER TABLE account ADD address VARCHAR(256);
5. # 删除student表当中的hight列
ALTER TABLE student DROP hight;
DESC student;
6. # 修改列名称
ALTER TABLE studentCHANGE student_name name VARCHAR(256);
7. # 修改表当中列的长度.
ALTER TABLE student MODIFY name VARCHAR(16);
8. # 删除user表
DROP TABLE user;
4 数据类型
Type | Storage (Bytes) | Minimum Value Signed | Minimum Value Unsigned | Maximum Value Signed | Maximum Value Unsigned |
---|---|---|---|---|---|
TINYINT | 1 | -128 | 0 | 127 | 255 |
SMALLINT | 2 | -32768 | 0 | 32767 | 65535 |
MEDIUMINT | 3 | -8388608 | 0 | 8388607 | 16777215 |
INT | 4 | -2147483648 | 0 | 2147483647 | 4294967295 |
BIGINT | 8 | -263 | 0 | 263-1 | 264-1 |
日期和时间类型:
datetime, timestamp.
类型 | 大小 | 用途 |
---|---|---|
CHAR | 0-255字符 | 定长字符串 char(10) 10个字符 |
VARCHAR | 0-65535 字节 | 变长字符串 varchar(10) 10个字符 |
BLOB(binary large object) | 0-65535字节 | 二进制形式的长文本数据 |
TEXT | 0-65535字节 | 长文本数据 |
创建表的时候, 如果是mysql8.x,则默认的编码是: utf8mb4.如果mysq5.7,则需要在创建表时候,指定它的编码为: utf8mb4;