Mysql入门

1 Mysql的安装与配置

安装需要注意:

  1. 编码选择UTF8
  2. 存储引擎选择多功能的
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2 启动和连接MySQL

2.1 启动MySQL服务

必须先在操作系统中开启MySQL的服务,才能够使用MySQL软件,可以通过如下的一些方式来启动:

  1. cmd–dos运行中输入 services.msc 打开服务界面,找到MySQL服务;
  2. 控制面板-管理工具-服务;
  3. Window7 开始 搜索 服务
  4. dos命令的方式:做好笔记就行了
    i. 启动MySQL服务 : net start MySQL
    ii. 关闭MySQL服务 : net stop MySQL
    提示: 如果启动出现下面的提示请使用管理员权限打开cmd在尝试
    在这里插入图片描述

2.2 连接MySQL

1、如果数据库在本机并且端口是默认端口3306,可以这样简写:
mysql -uroot -padmin
2、如果觉得上面这种直接暴露密码不安全,可以这样写:
mysql -uroot -p
弹出界面再输入密码就是*****
在这里插入图片描述

3 MySQL数据库操作

3.1 数据库操作

查看&使用数据库

show databases;   //查看数据库
use 数据库名;   //使用数据库

创建数据库

create database 数据库名;

删除数据库

drop database 数据库名;

注意: 每一句后面都是有分号; 结束的

3.2 Mysql与Java数据类型对比

在这里插入图片描述
MySql日期类型

  1. DATETIME(年月日,时分秒)
  2. DATE(年月日)
  3. TIMESTAMP(时间戳–范围19700101080001 - 203801191111407 基本不会用它,了解)对于到Java中也是 Date时间
  4. TIME:存时间,不带日期
  5. YEAR:只存年份
    注意:在MySQL中,日期时间值使用单引号引起来。 相当于Java中Date(主要),Calender。

3.3 创建表

CREATE TABLE `student` (
  `id` bigint(20) PRIMARY KEY AUTO_INCREMENT,
  `name` varchar(20) NOT NULL,
  `age` int(11)	SHOW TABLES;		查看数据库中存在哪些表:
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

3.4 查看表结构和删除表

SHOW TABLES;					查看数据库中存在哪些表:
DESC table_name;				查看表结构:
SHOW CREATE TABLE table_name; 	查看表的详细定义(定义表的SQL语句)
DROP TABLE table_name;			删除表:

3.5 表的约束

1.非空约束(NK):NOT NULL,不允许某列的内容为空。
2.设置列的默认值:DEFAULT。
3.唯一约束(UK):UNIQUE,在该表中,该列的内容必须唯一。
4.主键约束:PRIMARY KEY, 非空且唯一。
5.主键自增长:AUTO_INCREMENT,从1开始,步长为1。
6.外键约束:FOREIGN KEY,A表中的外键列.A表中的外键列的值必须参照于B表中的
主键设计:
1:单列主键,单列作为主键,建议使用。
复合主键,使用多列充当主键,不建议。
2:主键分为两种:
① 自然主键:使用有业务含义的列作为主键(不推荐使用);
② 代理主键:使用没有业务含义的列作为主键(推荐使用);

4 简单查询

(1) 简单数据查询

语法:
SELECT {*, column [alias],...} FROM	table_name; 

(2)去重查询。只对某一列有效

语法:	
SELECT	DISTINCT 列名,..

(3) 实现数学运算查询:
对NUMBER型数据可以使用算数操作符创建表达式(+ - * /)
对DATE型数据可以使用部分算数操作符创建表达式 (+ -)
运算符优先级:

  1. 乘法和除法的优先级高于加法和减法
  2. 同级运算的顺序是从左到右
  3. 表达式中使用"括号"可强行改变优先级的运算顺序

(4)设置列名的别名

例如:
SELECT  id,productName,50*(costPrice+1)  AS  ABC  FROM  product	 
这里的AS可删

(5) 设置显示格式:

格式:xxx商品的零售价为:xxx
例如:
SELECT  CONCAT(productName,'成本价为:',costPrice)  AS productCostPrice 
FROM product

5 过滤查询

5.1 比较运算符

在这里插入图片描述

语法
SELECT 		 <selectList> 
FROM		table_name
WHERE		条件1 AND/OR 条件2;

注意:字符串和日期要用单引号扩起来.

要让MySQL查询区分大小写,可以:
SELECT * FROM table_name WHERE BINARY productName='g9x'
SELECT * FROM table_name WHERE BINARY productName='G9X'

5.2 逻辑运算

在这里插入图片描述

5.3 优先级规则

在这里插入图片描述

5.4 范围查询-BETWEEN AND

语法:
SELECT <selectList>
FROM table_name
WHERE 列名 BETWEEN minvalue AND maxvalue:闭区间。

5.5 集合查询- IN

语法: 
SELECT <selectList>
FROM table_name
WHERE 列名 IN (1,值2....);

5.6 空值查询 IS NULL

IS NULL:判断列的值是否为空。
语法:WHERE 列名 IS NULL;
注意 : 列的值是 null 和空字符串不一样,如果是空字符串 应该 = “”

5.7 模糊查询 LIKE

使用LIKE运算符执行通配查询,查询条件可包含文字字符或数字:
%:通配符:可表示零或多个任意的字符。
_:通配符:可表示任意的一个字符。
通配符:用来实现匹配部分值得特殊字符。

5.8 正则表达式

例如:
	SELECT * FROM product WHERE productName REGEXP '[a-zA-Z]'

6 结果排序

语法:
SELECT <selectList> 
FROM table_name
WHERE 条件
ORDER BY 列名1 [ASC/DESC],列名2 [ASC/DESC]...;

7 分页查询

例如:
SELECT * FROM product LIMIT 0,5
起始位置=(页数-1)*每页条数

8 聚集函数

COUNT:统计结果记录数 如果列的值为null 不会计算在内的
MAX: 统计计算最大值
MIN: 统计计算最小值
SUM: 统计计算求和
AVG: 统计计算平均值 如果列的值为null 不会计算在内的

例如:
SELECT AVG(salePrice) FROM product

9 分组查询

语法格式:
SELECT  聚集函数或者分组的列
FROM table_name  
WHERE 条件
GROUP BY 列名
HAVING 分组之后的条件;

10 sql执行顺序

面试题
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值