小结
'''
1.什么是数据库:数据库是管理数据的系统 -安装某种管理数据的系统 - 管理的对象本质是文件
2.存储数据的位置:内存、硬盘
3.什么是系统:运行在硬件基础上,管理其他软件
'''
# 数据库的组成
'''
库:存放多张表 --相当于文件夹
表:包含多条相同结构的记录 --相当于文件
记录:包含多个key-value键值对的一条数据 --二进制数据
字段:描述信息 - 信息本身 == key-value --二进制数据
stu(表)
id name age gender
1 Bob 18 男
2 mac 18 女
'''
**数据库的分类
1.关系与非关系
关系:数据库中表与表之间有关系 -如 mysql
非关系:没有表概念 - redis、mongodb(介于关系与非关系之间)
2.内存与硬盘
硬盘:数据可以永久保存 - mysql、mongodb
内存:数据的存储效率极高 - redis、memcache
3.sql与nosql
sql:数据库操作通过sql语句
nosql:数据库操作就是key-value形式(value就是一条记录)
stu - {'name': 'Bob', 'age': 18}
stus - [{'name': 'Bob', 'age': 18},{'name': 'Mac', 'age': 18}]
name - 'Nick'
卸载
'''
前提)启动终端,输入mysql,如果不是提示 (不是内部或外部命令),代表就已经安装了数据库
1)直接连入
1.搜索:服务,检索mysql服务, 如果有
停止服务,并移除服务 - 启动管理员终端:mysql --remove
2. 搜索:服务,检索mysql服务, 无(mysql使用命令启动)
停止服务,启动管理员终端
tasklist | findstr mysql
tasklist /pid 进程pid /f
2)连接超时
搜索:服务,检索mysql服务,移除服务即可
3)移除环境变量
总结:如果能连入,先停止服务 | 如果添加了服务,就移除服务 | 取消环境变量配置
'''
安装
'''
1.解压面安装版本(5.6 - 没有初始密码)
2.配置环境变量:数据库绝对路径下的bin
3.配置服务:
启动管理员终端:mysql --install [nmysql]'''
连接数据库
1)游客登录(不一定能登入,就算登入了也啥都不能干)
>: mysql
2)账户密码登录
>: mysql -uroot -p
再输入密码,没有任何提示,没有密码直接回车登录即可
3)连接指定服务器的mysql
>: mysql -h ip地址 -P 端口号 -u 账号 -p
回车后敲入密码
>: mysql -hlocalhost -P3306 -uroot -p
4)退出数据库
>:quit
>:exit
用户信息查看
1)查看当前登录的用户
mysql>: select user();
2)root权限下可以查看所有用户信息
mysql>: select * from mysql.user;
: select * from mysql.userG
: select user,password,host from mysql.user;
3)root登录下,删除游客(操作后要重启mysql服务)
mysql>: delete from myaql.user where user='':
4)root登录下,修改密码(操作后要重启mysql服务)
mysql>: update mysql.user set password=password('12345678') where host='localhost';
5)没有登录
>: mysqladmin -u用户名 -P旧密码 -h域名 password "新密码"
: mysqladmin -uroot -p12345678 -hlocalhost password "root"
6)root登录下,创建用户
mysql>: grant 权限们 on 数据库名.表名 to 用户名@主机名 identified by '密码';
数据库的基本操作
1)查看已有数据库
mysql>: show databases;
2)选择某个数据库
mysql>: use 数据库名
: use db1
3)查看当前所在数据库
mysql>: select database();
4)创建数据库
mysql>: create database 数据库名 [charset=编码格式];
: create database db1;
: create database db1 charset=utf8;
5)查看创建数据库的详细内容
mysql>: show create database 数据库名;
: show create database db1
6)删除数据库
mysql>: drop database 数据库名;
: drop database db1;
标的基本操作
前提:先选取要操作的数据库
1)查看已有表
mysql>: show tables;
2)创建表
mysql>: create table 表名(字段);
: create table t1(name varchar(16), age int)
: create table t2
3)查看创建表的sql
mysql>: show create table 表名;
: show create table t1;
4)查看创建表的结构
mysql>:desc 表名;
:desc t1;
5)删除表
mysql>: drop table 表名;
: drop table t1;
记录的基本操作
1)查看某个数据库中的某个表的所有记录,如果在对应数据库中,可以直接查找表
mysql>: select * from [数据库名.]表名;
注:* 代表查询所有字段
2)给表的所有字段出入数据
mysql>: insert [into] [数据库名.]表名 values (值1.....值n);
:如果给有name 和 age 两个字段的 t1表插入数据
1条数据: insert into t1 values('Bob', 18);
多条: insert into t1 values('Bob', 18),('Nick', 18);
指定库插入:insert db1.t1 values('张三', 18);
3)根据条件修改指定内容
mysql>: update [数据库名.]表名 set 字段1=新值1, 字段n=新值n where 字段=旧值;
: update db1.t1 set name='Mac' age=22 where name='Nick';
注:可以只修改部分字段,如果在没有条件限制下,所有的记录都会被更新
:update t1 set name='呵呵';
4)根据条件删除记录
mysql>: delete from [数据库名.]表名 where 条件;
: delete from t1 where age<30;