mysql预习

一、数据库

1.1 什么是数据库

数据库 ( DataBase , 简称DB )
概念 : 长期存放在计算机内,有组织,可共享的大量数据的集合,是一个数据 “仓库”
作用 : 保存,并能安全管理数据(如:增删改查等),减少冗余…

1.2 数据库分类

关系型数据库 ( SQL ):
MySQL , Oracle , SQL Server , SQLite , DB2
是指通过表和表之间,行和列之间的关系进行数据的存储。
非关系型数据库 ( NOSQL) Not Only SQL:
Redis , MongoDB
非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定。
**DBMS(数据库管理系统) **
数据库的管理软件,科学有效的管理我们的数据,维护和获取
MySQL ,数据管理系统!

1.3 mysql简介

MySQL是一个关系型数据库管理系统
前世: 瑞典MySQL AB 公司
今身: 属于 Oracle 旗下产品
MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
开源的数据库软件
体积小,速度快,总体拥有成本低,招人成本比较低。
中小型网站,或者大型网站,集群

操作数据库->操作数据库中的表->操作数据库中表的数据

二、操作数据库

1.创建数据库

CREATE DATABASE IF NOT EXISTS westos;

2.删除数据库

DROP DATABASE IF EXISTS westos;

3.使用数据库

USE westos;

4.查看数据库

SHOW DATABASES;

(查看所有数据库)

三、mysql数据类型

1.数值类型

在这里插入图片描述

2.日期和时间类型

在这里插入图片描述

3.字符串类型

在这里插入图片描述

四、创建数据库表

语法:

CREATE TABLE [IF NOT EXISTS] `表名``字段名` 列类型[属性][索引][注释],
`字段名` 列类型[属性][索引][注释],
...
`字段名` 列类型[属性][索引][注释][表类型][表的字符集设置][注释]

举例:

--目标:创建一个schoo1数据库
--创建学生表(列,字段)使用SQL 创建
--学号int 登录密码varchar(20)姓名,性别varchar(2),出生日期(datatime),家庭住址,emai1--注意点,使用英文(),表的名称和字段尽量使用括起来
CREATE TABLE IF NOT EXISTS `student` (
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
`sex` VARCHAR(2) NOT NULL DEFAULT '男' COMMENT '性别',
`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
`address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
`email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

在这里插入图片描述

五、数据管理(DML语言)

1.insert

语法:

 insert into 表名([字段一], [字段二]values(‘值1),(‘值2)

注意事项:
1.字段和字段之间用逗号分开
2.字段可以省略,但是后面的值必须一一对应
3.可以同时插入多条数据,VALUES后面的值需要使用,隔开即可

INSERT INTO `student`(`name`,`pwd`,`sex`) 
VALUES ('李四','aaaaa','男'),('王五','23232','女')

在这里插入图片描述

2.update

语法:

 UPDATE 表名 set column_name,[] = value where 条件

update 修改谁(条件) set 原来的值=新值
条件:where 子句 运算符 id 等于 某个值,大于某个值,在某个区间内修改
( 不指定条件的情况下,会改动所有表)

UPDATE `student` SET `name`='囷' WHERE id =1;
UPDATE `student` SET `name`='233'

在这里插入图片描述

操作符返回布尔值

在这里插入图片描述
注意:
column_name 是数据库的列,带上’’
条件,是筛选的条件,如果没有指定,则会修改所有的列
value 是一个具体的值,也可以是一个变量
多个设置的属性之间,使用英文逗号隔开

3.delete

语法:

delete from 表名 [where 条件]

eg.DELETE FROM ‘student’ where id= 1

六、查询数据(DQL语言)

1.select

语法:

SELECT 字段 ... FROM

有时候,列名字不是那么见名知意。我们起别名 AS 字段名 AS 别名 表名 AS 别名。

SELECT `StudentNo`,`StudentName` FROM student;
SELECT `StudentNo` AS 学号,`StudentName`AS 学生姓名 FROM student AS S;

2.where

作用:检索数据中符合条件的值。

eg.查询考试成绩在95分到100分之间:

SELECT `StduentNo`,`StudentResult` FROM result
WHERE StudentResult >=95 AND StudentResult<=100

3.like

SELECT field1, field2,...fieldN 
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'

你可以在 WHERE 子句中指定任何条件。
你可以在 WHERE 子句中使用LIKE子句。
你可以使用LIKE子句代替等号 =。
LIKE 通常与 % 一同使用,类似于一个元字符的搜索。
你可以使用 AND 或者 OR 指定一个或多个条件。
你可以在 DELETE 或 UPDATE 命令中使用 WHERE…LIKE 子句来指定条件。

4.union

SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];

参数
expression1, expression2, … expression_n: 要检索的列。
tables: 要检索的数据表。
WHERE conditions: 可选, 检索条件。
DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。
ALL: 可选,返回所有结果集,包含重复数据。

七、mysql排序ORDER BY

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
ORDER BY field1 [ASC [DESC][默认 ASC]], [field2...] [ASC [DESC][默认 ASC]]

你可以使用任何字段来作为排序的条件,从而返回排序后的查询结果。
你可以设定多个字段来排序。
你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。
你可以添加 WHERE…LIKE 子句来设置条件。

八、mysql分组GROUP BY

GROUP BY 语句根据一个或多个列对结果集进行分组。
在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。

SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值