1.数据库
概念:数据库就是存放数据的仓库
数据库(Database)时长期存储在计算机内部有结狗的,大量的共享的数据集
1.1关系型数据库与非关系型数据库
关系型数据库
关系型数据库,采用了关系模型来组织数据的存储,以行和列的形式存储数据并记录数据与 数据之间的关系 —— 将数据存储在表格中,可以通过建立表格与表格之间的关联来维护数据 与数据之间的关系。
学生信息 -- 学生类 -- 学生表
订单信息 -- 订单类 -- 订单表
非关系型数据库
非关系型数据库,采用键值对的模型来存储数据,只完成数据的记录,不会记录数据与数据 之间的关系。 在非关系型数据库中基于其特定的存储结构来解决一些大数据应用的难题。 NoSQL(Not only SQL)数据库来指代非关系型数据库。
2卸载MySQL
1,关闭Mysql服务
方式1:可视化界面操作关闭服务
方式2:命令操作关闭服务
2,卸载Mysql与相关程序
3,删除C:\Program Files,C:\Program Files (x86)与C:\ProgramData下MySql文件夹 注意C:\ProgramData是隐藏文件
4,清理注册表中Mysql 打开注册表 win+r键 输入regedit 搜索Mysql相关并删除
5,重启计算机
2.1启动与停止
方式1:计算机管理窗口
右键此电脑->管理->服务和应用程序->服务
方式2:windows命令行
启动:net start mysql服务名
关闭:net start mysql服务名
注意:
- 需要以管路员身份启动dos命令框
- 命令后无分号
3.结构化查询语言SQL
简介
SQL结构化查询语言,用于存取.查取,更新数据以及管理关系型数据库系统
3.1基本语法
在MySql command line client或navicat等工具中都可以编写SQL命令
- SQL命令不区分大小写
Sql的关键字使用大写,自定义的名称使用小写
- 每条SQL表达式以;结束
- SQL关键字之间以空格分割
- SQL之间可以不限制换行(可以有空格的地方就有换行)
- MySQL注释
单行注释:--注释内容
单行注释:#注释内容
多行注释:/*注释内容*/
3.2分类
DDL数据定义语言
用于完成对数据库对象(数据库,数据表,视图,索引等)的创建,删除,修改
DML数据操作语言
用于完成对数据表中的数据的添加,删除,修改操作
DQL数据查询语言
用于将数据表中的数据查询出来
DCL数据控制语言
用于完成事务管理等控制性操作
4.数据库操作
4.1查询数据库
显示当前mysql中的数据库列表
Show database;
显示指定名称的数据的创建的SQL指令
Show create database 库名;
4.2创建数据库
创建数据库
Create datebase 库名
创建数据库当指定名称的数据库不存在时执行创建
Create database if not exists 库名
在创建数据库的同时指定数据库的字符集(字符集:数据存储在数据库中采用的编码格式)
Create database 库名 character set字符集;
4.3修改数据库字符集
Alter database 库名 character set字符集;
4.4删除数据库
删除数据库
Drop database 库名;
如果数据库存在则删除数据库
Drop database if exists 库名
4.5使用/切换数据库
Use 库名;
5数据表操作
5.1创建表
语法:
Create table 表名(
字段名1 数据类型 约束1 约束2,
字段名2 数据类型 约束1 ,
字段名3 数据类型
);
注意:最后一个字段后不加逗号
5.2查询表
查询当前库下所有表名
Show tables;
查询表结构
Desc 表名;
5.3修改表
修改表名
Alter table 旧表名 rename to 新表名;
数据表也是有字符集的,默认字符集和数据库一致
Alter table 表名 character set 字符集
添加列
Alter tbale 表名 add 列名 类型;
修改列的列表和类型
Alter table 表名 change 旧列名 新列名 类型;
修改列类型
Alter table 表名 modify 列名 类型;
删除列
Alter table 表名 drop 列名;
5.4删除表
删除数据表
Drop table 表名;
当数据表存在时删除数据表
Drop table if exists 表名;
6约束
概念:在创建数据表的时候,指定的对数据表的列的数据限制性的要求
6.1作用:
保证数据的有效性
保证数据的完整性
保证数据的正确性
6.2分类
非空约束(not null):限制此列的数据不能为空,必须提供值
create table books(
book_isbn integer,
book_isbn char(4),
book_name varchar(10) not null,
book_author varchar(6)
);
唯一约束(unique):此列的值不能重复
create table books(
book_isbn integer,
book_isbn char(4) unique,
book_name varchar(10) not null,
book_author varchar(6)
);
主键约束(primary key):非空+唯一,能够唯一标识数据表的一条数据
create table books(
book_id integer primary key,
book_isbn char(4),
book_name varchar(10) not null,
book_author varchar(6)
);
联合主键
联合主键:将数据表中的多列组合在一起设置为表的主键
create table grades(
stu_num char(8),
course_id int,
score int,
primary key(stu_num,course_id)
);
自增长约束(auto_increment):每次+1,从1起
create table books(
book_id integer auto_inceement,
book_isbn char(4),
book_name varchar(10) not null,
book_author varchar(6)
);
检查约束(check):保证列中的值满足某一条件
create table books(
book_id integer,
book_isbn char(4),
book_name varchar(10) not null,
book_author varchar(6) ,
check(book_id>0 and book_id<=100)
);
默认约束(default):保存数据时,未指定值则采用默认值
外键约束(foreign key):建立不同表之间的关联关系
6.3修改约束
Alter table 表名 modify 字段名 数据类型[约束];
//可以使用修改列的方式,删除,添加或修改约束,没有约束为删除约束,有约束为添加或修改约束
7.DML数据操作语言
7.1插入数据
作用:给表中添加数据
语法
Insert into 表名(列名1,列名2…) values(值1,值2…);
# 向数据表中指定的列添加数据(不允许为空的列必须提供数据) insert into stus(stu_num,stu_name,stu_gender,stu_age,stu_tel)
values('20210101','张三','男',21,'13030303300');
7.2修改数据
语法:
Update 表名 set 列名1=值1,列名2=值2…where条件;
# 将学号为20210105的学生姓名修改为“孙七”(只修改一列)
update stus set stu_name='孙七' where stu_num='20210105';
7.3删除数据
语法:
Delete from 表名 where 条件;
# 删除学号为20210102的学生信息
delete from stus where stu_num='20210102';