SQL、DB、DBMS关系
DB:
DataBase(数据库,数据库实际上在硬盘上以文件的形式存在)
DBMS:
DataBase Management System(数据库管理系统,常见的有:MySQL Oracle DB2 Sybase SqlSever MongoDB)
SQL:
结构化查询语言,是一门标准通用的语言。标准的SQL适用于所有的数据库产品。
SQL属于高级语言,SQL语句在执行的时候,实际上内部会先进行编译,然后再执行SQL。(SQL语句的编译由DBMS完成)
DBMS负责执行SQL语句,通过执行SQL语句来操作DB当中的数据
表
表(table):
table是数据库的基本组成单元,所有数据都以表哥形式组织,目的是可读性强
一个表包括行和列:
行:被称之为数据/记录(data)
列:被称之为字段(colum)
ID(int) 姓名(varchar) 年龄(int)
-------------------------------------
4927 刘建明 23
27149 陈永仁 24
每一个字短应该包括哪些属性?
字段名、数据类型、相关的约束。
SQL语句分类
DQL(数据查询语言):查询语句,凡是select语句都是DQL
DML(数据操作语言):insert delete update,对表当中的数据进行增删改
DDL(数据定义语言):create drop alter,对表的结构进行增删改
TCL(事务控制语言):commit提交事物,rollback回滚事务
DCL(数据控制语言):grant、revoke撤销权限等
导入数据
1、登录命令:
mysql -uroot -p(psaaword)
2、查看有哪些数据库:
show databases;#(这个不是SQL语句,属于MySQL的命令)
3、创建数据库:
create database (databasename); #(这个不是SQL语句,属于MySQL的命令)
4、使用 (databasename) 数据:
use (databasename);#(这个不是SQL语句,属于MySQL的命令)
5、查看当前使用的数据库中有哪些表:
show tables; #(这个不是SQL语句,属于MySQL的命令)
6、执行脚本:
source (sql脚本文件路径名)
# sql脚本文件数据量太大的时候,可以使用source命令完成初始化
MySQL简介
数据库本质上其实是一个c/s架构
MySQL本质是通过网络传输获取数据
只要是通过网络传输的底层都是socket
1.服务端
2.客户端
mysql的组成:
库 => 文件夹
表 => 文件
记录 => 文件中的数据
字段 => 文件的表头
安装
1、1.下载下来是zip的压缩包
2. 解压,得到文件夹
3. 进入到bin目录下,
mysql.exe mysql的客户端
mysqld.exe mysql的服务端
4. 要先启动服务端,在启动客户端取连接
5. 进入到bin目录,执行mysqld启动服务端
6. 服务端启动之后,该窗口不要动,在另起一个cmd窗口,进入bin目录,执行mysql.exe 客户端,连接mysql
7. 添加环境变量
把bin目录路径添加到环境变量中, 这样做的目的是不用每次都进入到bin目录中执行了
8. 制作服务
1. 以管理员身份进入到cmd中
2. mysqld --install 添加服务
3. mysqld --remove 删除服务
4. 默认情况是未启动状态,需要手动点击启动
5. 如何查看服务?
3.我的电脑 -》 右键 -》 管理 -》 服务和应用程序
数据库分类
分类:
1.关系型数据库
有固定的表结构, 可以建立表与表之间的关系
eg: MySQL Oracle sqllite SQLserver access db2
2.非关系型数据库
没有固定的表结构, 没有关系了
eg: redis(字符串,无序集合,有序集合,哈希类型,列表类型) mongodb(爬虫) memcache(只支持字符串)
存储格式:k:v键值对‘
MySQL修改密码
修改一下管理员密码:
强调一点:该命令要在mysql之外执行
mysqladmin -uroot -p password 新密码
忘记密码:
mysql必须是登录状态才能执行
update user set password=password(111) where user='root' and host='localhost';
针对库的增删改查
1. 查看所有的数据库
show databases;
2. 创建数据库:
create database 数据库名称;
3. 删除数据库
drop database 数据库名称;
4.查看当前所在库
select database();
5. 切换数据库
use 数据库名称;
表的增删改查
1. 查看表
show tables;
show create table 表名;
2. 创建表
create table t1 (id int, name varchar(4), age int);
3. 查看表结构
desc 表名;
4. 修改表名
alter table t1 rename t2;
5. 修改字段类型
alter table t1 modify name varchar(32);
6. 增加字段
alter table 表名 add column 字段名 约束条件
7. 删除表
drop table 表名;
记录的增删改查
1. 查询记录
select * from 表名;
select 字段名, 字段名 from 表名;
2. 查看所有表
show tables;
3. 增
insert into t1 (id, name, age) values (1, 'jesse', 18);
insert into t2 (id, name, age) values (1, 'jesse', 18),(2, 'jesse', 18),(3, 'jesse', 18);
4. 修改
update 表名 set name='jesse' where id=1;
5. 删除记录
delete from table where id = 1;