1.初识数据库
1.数据库在你的程序中扮演什么角色
用户名密码 商品名价格 对数据的处理更便捷
web程序
数据库 database db
文件 表 table
一条一条的数据 data
2.数据库解决了:
操作文件的效率和便捷问题
解决了多个服务同时使用数据的一致性问题
解决了安全的问题
解决了并发问题
3.数据库分类:
关系型数据库 :存取效率相对低 数据与数据之间的关联紧密
mysql oracle sqlserver sqllite accesse
非关系型数据库 : 存取效率相对高 数据与数据之间的关联关系 kv,通过k找到v
redis mongodb memcache(内存级别)
mysql数据库管理系统 DBMS
4.mysql的卸载和安装
卸载
net stop mysql 停止mysql服务
mysqld remove 删除服务
把安装软件也删掉
删除环境变量
清除注册表/重启计算机
安装
路径
1.路径不能有中文
2.路径中不能有特殊字符
修改配置文件
1.编码utf-8
2.所有的配置项后面不要有特殊的符号
3.修改两个路径basedir datadir
检测文件的扩展名设置
工具-->文件夹选项-->查看-->扩展名 不要隐藏
配置环境变量
在path中添加
C:mysqlmysql-5.6.45-winx64in
以管理员的身份重新打开一个cmd
mysqld install 安装成功
启动mysql
net start mysql 启动mysql server
在cmd启动mysql 客户端
mysql
客户端和本地的mysql server相连
5.数据库的基本使用(操作)
mysql server端
net start myspl 启动一个叫做mysql的服务
net stop mysql 停止一个服务
myspl 启动了客户端,客户端会自动的连接本地的3306端口
mysql>select user()
mysql -uroot 表示要用root用户登录(root mysql里,最高权限)
默认密码是空
set password = password('123');设置密码
mysql -uroot -p 回车 使用密码登录
Enter password :123 登陆成功
mysql -uroot -p123 回车 直接登陆成功(也可以这样登录,不建议这样使用,密码明文)
创建账号
使用公司的数据库 管理员会创建一个账号给你用
你的数据库 借给别人用也可以创建一个账号
mysql>create user 'eva'@'192.168.13.%' identified by '123';
mysql -ueva -p123 -h 192.168.13.254
grant 权限的种类(增删改查)
grant all
grant select on 数据库.表 数据库里的一张表的查权限
grant select on 数据库.* 数据库.* 数据库里面所有的.的查权限
grant select on 数据库.* to 'eva'@'192.168.13.%';
给一个已经存在的eva账号授权
grant select on 数据库.* to 'eva'@'192.168.13.%' identified by '123';
mysql>select user();
数据库的操作
show
查看有哪些数据库
mysql>show databases;
ftp项目
create database ftp;
切换到这个文件夹下面
use 库名;
use ftp
use ftp;
drop database ftp;删除库(一辈子不会用到,一定要慎用)
6.表操作
创建表
create table userinfo(id int,name char(12)); # mysql 5.5以下都是字节,5.6以上都是字符 len
查看当前库中有多少张表
show tables;
查看表的结构
desc userinfo;
describe userinfo;
show create table userinfo;
删除表
drop table userinfo;
修改表
alter table 表名 rename 新名字;
7.数据的操作
查看
select * from user;
增加
insert into user values(1,'alex');
insert into user values(2,'wusir'),(3,'太亮');
修改
update user set name = 'barry'; # 不用
update user set name = 'alex' where id = 1;#id 为1 的改成alex
update user set name = 'alex',id = 2 where id = 1;#把id = 1的改成id = 2,name='alex'
删除
delete from user; # 清空表 不用
delete from user where name = 'alex';#通过名字删除
delete from user where id = 3;#通过id删除
8.SQL结构化查询语言
SQL : 结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统
SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。SQL语言分为3种类型:
1、DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER
2、DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT
3、DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE
9.背诵与总结
1.创建一个库day38
create database day38;
2.查看有哪些表
use day38
show tables;
3.创建一个表
create table staff(id int,name char(12), age int);
4.往这个表中插入三条数据
insert into staff values(1,'太亮',48),(2,'太亮',48),(3,'太亮',48);
5.查看表结构
desc staff;
6.查询表中的所有数据
select * from staff;
7.常见的关系型数据库和非关系型数据库
关系型 : mysql oracle sqlserver
非关系型 : redis mongodb memcache
总结
数据库部分的概念
数据库管理系统 DBMS 软件
数据库 DB 文件夹
表 table 文件
数据 data 文件中的内容
数据库管理员 DBA 人
服务器 - 提供服务的机器
数据库服务器
关系型数据库 存取效率相对低 数据与数据之间的关联紧密
mysql /oracle /sql server
非关系型数据库 存取效率相对高 数据与数据之间的关联关系 kv,通过k找到v
redis mongodb memcache
sql 操作数据库的时候使用的语言
sql语句的分类
DDL : CREATE ALTER DROP (****)
DML : SELECT INSERT DELETE UPDATE (*****)
DCL : GRANT REVOKE (*)
SQL语句
库
create database 库名;
use 库名
show tables;
表
create table 表名(字段名 类型(长度),...);
desc 表名;
show create table 表名;
alter table 表名 rename 新表名;
drop table 表名;
数据
insert into 表名 values (值1,值2,值3),(值1,值2..)....;
delete from 表名 where 条件
select * from 表 where 条件
update 表名 set 字段名=新的值 where 条件