Mysql --SQL通用语法,约束,三大范式,备份还原,多表查询,事务

MySQL

目录:
1.数据库介绍
2.SQL语法介绍
3.SQL通用介绍
4.约束
5.数据库的设计规范 范式
6.数据库的备份和还原
7.多表查询
8.事务

1. 数据库介绍

数据库的英文单词:DataBase 简称DB
数据库:用于存储和管理数据库的仓库

数据库的特点:
1.持久化存储数据的,其实数据库就是一个文件系统
2.数据库方法存储和管理数据库
3.使用了统一的方式操作数据库
常见的数据库软件
Mysql Oracle
Mysql 服务的启动:
1.手动,计算机管理 -> 服务 启动或关闭
2. cmd - > services.msc 打开服务的窗口
3.使用管理员打开Cmd
net start mysql0(mysql0是我的服务器名字)
net stop mysql0(mysql0是我的服务器名字)
Mysql的卸载
去Mysql的安装目录下找到 my.ini文件 赋值datadir=“路径”
卸载Mysql
找到上面的路径 删除programData目录下的Mysql文件夹
Mysql目录结构
Mysql安装目录
配置文件:my.ini
Mysql数据目录
数据库
对应的文件夹

文件
数据
文件里面的数据

2. SQL 介绍

SQL:Structured Query Language 结构化查询语言
其实就是定义了操作所有关系型数据库的规则
每一种数据库操作的方式有一些存在不一样的地方,称为“方言”

3. SQL通用语法

SQL 语句 可以单行或多行书写,以分号结尾
Mysql数据库的SQL 语句 不区分大小写,关键字建议使用大写
3种注释:
单行注释:-- 注释内容 或 # 注释内容(Mysql 特有)
多行注释: /* 注释 */
登录mysql 退出
mysql -u root -p
再输入登录密码即可
退出程序:ctrl + c
mysql -uroot -proot
mysql -h(ip) -uroot -p连接目标的密码
mysql --host=ip --user=root --password=root
退出
exit
quit

3. SQL语法操作分类

  1. 1.DDL 数据定义语言(操作数据库和表)

用来定义数据库对象:数据库,表,列表等 关键字:create drop alter等
操作数据库,表
操作数据库:
CRUD

C:(Create) 创建
创建一个数据库
1.create database db1; 创建了一个名为db1的数据库
2.创建数据库 同时判断它是否存在;
create database if not exists 数据库名称
3.创建数据库并指定字符集
create database 数据库名称 character set 字符集;
练习: 创建bd4数据库,判断是否存在,并制定字符集为gbk
create database if not exists db4 character set gbk;

R:(Retrieve) 查询
查询所有数据库的名称:show databases;
查询某个数据库的字符集:show create database 数据库的名称;(查询某个数据库的创建语句)

U:(Update) 更新(修改)
修改数据库的字符集
alter database 数据库名称 character set 字符集名称

D:(Delete) 删除
删除数据库
drop database 数据库的名称;
drop database if exists 数据库名称;
使用数据库
查询当前正在使用的数据库名称
select database();
使用数据库
use 数据库名称;
操作表:
CRUD

C:(Create) 创建

创建表
	create table 表名(
	列名1 数据类型,
	列名2 数据类型,
	.....
	列名n 数据类型
);   注意:最后一列不需要加逗号(,)

复制表: create table 表名 like 被复制的表名;

R:(Retrieve) 查询
查询某个数据库中所有的表名称
show tables;
查询表结构
desc 表名

U:(Update) 更新(修改)
修改表名
alter table 表名 rename to 新的表名;
修改表的字符集
查询表的字符集:show create table 表名;
修改:alter table 表名 character set 字符集名称;
添加一列
alter table 表名 add 列名 数据类型;
修改列名称 类型
alter table 表名 change 列名 新列名 新数据类型 ; 即改名字也该类型
alter table 表名 modify 列名 数据类型;
删除列
alter table 表名 drop 要删除的列名;

D:(Delete) 删除
drop table 表名称;
drop table 表名 if exists 表名称;

2.DML 数据操作语言(增删改表中数据)
用来对数据库中表的数据进行 增 删 改 关键字:insert delete update 等
增删改查表中数据
添加数据
insert语句 插入数据

INSERT INTO 表名 (字段1,字段2…) VALUES(具体的值1,具体的值2.。。)
insert into students values(1,‘tom’,100,90,80);
添加数据有两种方式:1.指定字段名 2.添加全部字段
字符和日期型数据应包含在单引号中。
语法: insert into 表名(列名1,列名2 , …列名N) values(值1,值2,…值N)
注意:
1. 列名和值 要一 一对应
2.如果表名后 不定义列名;则默认给所有列添加值
3.除了数字类型,其他类型需要使用引号 引起来 ‘’(单引号) “”(双引号)都可以

删除数据
语法: delete from 表名 where 条件
delete语句 删除数据
DELETE FROM 表名 WHERE 条件;
如果没有where条件,则就是把整个表的所有记录全部删除
注:通过delect语句只会将表中的数据删除,不会将整个表删除
如果要删除数据库中的整个表,则使用 drop table 表名;
drop table 表名; 删除整个表

删除数据库
DROP DATABASE (IF EXISTS) db2;
IF EXISTS 可选的,如果存在的话删除,如果不存在的话就不删除,不会报错。
注意:
如果不加条件,则删除表中所有记录。
如果要删除所有记录
1. delect from 表名; 不推荐使用。有多少条记录 就会执行多少次操作 效率比较低
2.TRUNCATE TABLE 表名; 推荐使用 先删除表 然后再创建一张一样的表

修改数据
语法:update 表名 set 列名1=值1,列名2=值2… where 条件
update语句 更新数据
UPDATE 表名 SET 字段名1=新值,字段名2=新值…WHERE条件;
如果没有where条件,则就是把整个表的所有记录全部删除
所有人的工资都修改为12000;
update employee set salary=12000;
将名字为TOM的人 工资修改为12000
update employee set salary=12000 where name=‘Tom’;
注意:
1.如果不加任何条件,则会将表中所有记录全部修改

3.DQL 数据查询语言(查询表中数据)

用来查询数据库中表的记录(数据) 。关键字:select where 等
查询数据
select语句 查找数据

1.语法
select
	字段列表
form
	表名列表
where
	条件列表
group by
	分组字段
having
	分组之后的条件
order by
	排序
limit

分页限定
1.查找表下所有的数据
SELECT (DISTINCT)* FROM 表名 WHERE 条件
注:如果我们想把该表的所有字段信息都取出来,则可以直接使用*表示

2.基础查询:
1. 多个字段的查询
select 字段名1,字段名2,…from 表名
注意:
如果查询所有字段,则可以使用 * 替代 字段列表
2. 去除重复
distinct 去除重复
SELECT DISTINCT 字段1,字段2… FROM student;
3. 计算列
一般可以使用四则运算计算一些列的值。(一般只会进行数值型的计算)
ifnull(表达式1,表达式2)
表达式1:那个字段需要判断是否为null
表达式2:如果该字段为null后的替换值
SELECT NAME,math,english,math+IFNULL(english,0) FROM student;

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值