目录
安装参考
一、MySQL数据库登陆
1、设置环境变量
将mysql.exe命令所在的目录,添加入系统环境变量的path中
C:\Program Files\MySQL\MySQL Server 8.0\bin
2、cmd命令登陆数据库
win + r --->运行窗口cmd
mysql -h localhost -P 3306 -u root -pXXX7332
mysql -h 127.0.0.1 -P 3306 -u root -pXXX7332
若出现E1049错误 ①p之后直接enter,然后输入密码 ②之后没有空格exit退出
二、基本操作语法
SQL语法不区分大小写
规约:
关键字、函数等 大写;
库名、表名、字段名等 小写;
1、显示数据库——SHOW
#显示所有数据库
SHOW databases;
#显示某数据库中所有表
SHOW TABLES;
2、使用/选择数据库——USE
USE mydb;
3、删除——DROP
#删除jobs表
DROP TABLE jobs;
#删除mydb数据库
DROP DATABASE mydb;
#若mydb数据库存在,则删除
DROP DATABASE IF EXISTS mydb;
4、创建——CREATE
#创建数据库mydb2023
CREATE DATABASE `mydb2023`;
#或者
CREATE DATABASE `mydb2023` CHARACTER SET 'utf8mb4';
#如果数据库不存在,则创建;(可以避免数据库已存在而报错)
CREATE DATABASE IF NOT EXISTS `mydb2023` CHARACTER SET 'utf8mb4';
#创建表student
CREATE TABLE `student`;
` 英文状态下的左上键,表转义,在cmd中表名需要写,在navicat中不写转义符也可;
' ' 英文状态下的单引号,表字符串;set字符集 格式 为万国码,任何语言
#创建一个学生表stu
CREATE TABLE IF NOT EXISTS `stu` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(10),
`height` FLOAT,
`gender` CHAR(1),
`birth` DATE, #间隔用逗号,最后不用逗号
`operation` DATETIME
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4;
必填:
名称+数据类型
选填:
约束,如下:
NOT NULL:非空
AUTO_INCREMENT:自增
PRIMARY KEY:主键
ENGINE=INNODB:
INNODB
是 MySQL 的一种存储引擎,它支持事务处理、外键约束和行级锁定,适合处理高并发的数据库操作。DEFAULT CHARSET=utf8mb4:指定了表的默认字符集为
utf8mb4
,它是一种支持存储多字节字符的字符集,能够存储包括Emoji在内的更多字符。
5、查看表结构——DESC
#查看stu表结构
DESC stu;
6、数据操作——增删改查
(1)增/插入(INSERT)
INSERT INTO stu(id,`name`,height,birth)
VALUES
(1,'Tom',1.87,'2015-12-11'),
(2,'Jaom',1.77,'2020-05-20');
(2)查(SELECT)
#查看stu所有属性
SELECT * FROM stu;
#查看stu的id和name属性
#name是保留字,最好进行转义``,或者更改为nameStu
SELECT id,`name` FROM stu;
起别名
SELECT
id AS 学号,
birth AS 生日,
id AS 也是学号,
11 #即使11不在表中,但是也会出现;称为计算列或人为构造列
FROM
stu
WHERE
id !=4
AND height < 1;
(3)改(UPDATE)
#update和delete语句一定要记得写where语句
UPDATE stu
SET gender='男'
WHERE
id <2 AND gender='女';
(4)删(DELETE)
#删除表中某行数据
DELETE FROM stu WHERE id=1;
注:
where语句中条件只能通过AND、OR、NOT连接
7、其他说明
(1)主键的设置:选择的属性要没有业务意义
(2)空值(NULL) 的条件判断:要用 IS NULL来判断,不能用等号(=NULL)
(3)赋值null的话要用=WHERE birth IS NULL #空值的条件判断 SET birth =NULL #赋空值
三、软件开发和数据分析对SQL的要求?
数据分析: 各种花式查找【分组聚合(group by),子查询】、处理函数....;指标体系,模型,算法...
软件开发:增删改查,事务,锁,性能,ORM....