数据库
"""
一、什么是数据库:管理数据的系统 - 安装某种管理数据的系统 - 管理的对象本质是文件
二、存储数据的位置:内存、硬盘
三、什么是系统:运行在硬件基础上,管理其余软件
"""
# 数据库的组成
"""
库:存放多张表 - 文件夹
表:包含多条相同结构的记录 - 文件
记录:包含多个key-value键值对的一条数据 - 二进制数据
字段:描述信息 - 信息自己 == key-value - 二进制数据
stu
id name age gender
1 Bob 18 男
2 Tom 17 女
...
teacher
...
"""
数据库的分类
# 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': 'Tom', 'age': 18}]
# name - 'Jerry'
卸载
"""
前提)启动终端,输入 mysql,若是不是提示 不是内部或外部命令,表明已安装数据库
1)直接连入
i 搜索:服务,检索mysql服务,有
中止服务,并移除服务 - 启动管理员终端:mysqld --remove
ii 搜索:服务,检索mysql服务,无 (mysql使用命令启动)
中止服务,启动管理员终端
tasklist | findstr mysql
taskkill /pid 进程pid /f
2)链接超时
搜索:服务,检索mysql服务,移除服务便可
3)移除环境变量
总结:若是能连入,先中止服务 | 若是添加了服务,就移除服务 | 取消环境变量配置
"""
安装
"""
一、解压免安装版本(5.6 - 没有初始密码)
二、配置环境变量:数据库绝对路径下的bin
三、配置服务:
启动管理员终端:mysqld --install [nmysql]
"""
链接数据库
1)游客登录(不必定能登入,登入了也啥都不能干)
>: mysql
2)帐号密码登陆
>: mysql -u root -p
再输入密码,没有任何提示,没有密码直接回车
3)链接指定服务器的mysql
>: mysql -h ip地址 -P 端口号 -u 帐号 -p
回车后敲入密码
eg:
>: mysql -hlocalhost -P3306 -uroot -p
4)退出数据库
>: quit
>: exit
用户信息查看
1)查看当前登陆的用户
mysql>: select user();
2)root权限下能够查看全部用户信息
mysql>: select * from mysql.user;
mysql>: select * from mysql.user \G
mysql>: select user,password,host from mysql.user;
3)root登陆下,删除游客(操做后要重启mysql服务)
mysql>: delete from mysql.user where user='';
4)root登陆下,修改密码(操做后要重启mysql服务)
mysql>: update mysql.user set password=password('12345678') where host='localhost';
5)没有登陆
>: mysqladmin -u用户名 -p旧密码 -h域名 password "新密码"
eg>: mysqladmin -uroot -p12345678 -hlocalhost password "root"
6)root登陆下,建立用户
mysql>:grant 权限们 on 数据库名.表名 to 用户名@主机名 identified by '密码';
数据库的基本操做
1)查看已有数据库
mysql>:show databases;
2)选择某个数据库
mysql>:use 数据库名
3)查看当前所在数据库
mysql>:select database();
4)建立数据库
mysql>:create database 数据库名 [charset=编码格式];
eg>: create database owen;
eg>: create database zero charset=utf8;
eg>: create database tank;
5)查看建立数据库的详细内容
mysql>:show create database 数据库名;
eg>: show create database owen;
6)删除数据库
mysql>: drop database 数据库名;
eg>: drop database tank;
表的基本操做
前提:先选取要操做的数据库
1)查看已有表
mysql>:show tables;
2)建立表
mysql>:create table 表名(字段们);
eg>: create table student(name varchar(16), age int);
eg>: create table teacher(name varchar(16), age int);
3)查看建立表的sql
mysql>:show create table 表名;
eg>: show create table student;
4)查看建立表的结构
mysql>:desc 表名;
5)删除表
mysql>: drop table 表名;
eg>: drop table teacher;
记录的基本操做
1)查看某个数据库中的某个表的全部记录,若是在对应数据库中,能够直接查找表
mysql>: select * from [数据库名.]表名;
注:*表明查询全部字段
2)给表的全部字段插入数据
mysql>: insert [into] [数据库名.]表名 values (值1,...,值n);
eg:若是给有name和age两个字段的student表插入数据
1条>:insert into student values ('Bob', 18);
多条>:insert into student values ('张三', 18), ('李四', 20);
指定库>:insert owen.student values ('张三', 18), ('李四', 20);
3)根据条件修改指定内容
mysql>: update [数据库名.]表名 set 字段1=新值1, 字段n=新值n where 字段=旧值;
eg:> update student set name='王五', age='100' where name='张三';
注:i) 能够只修改部分字段 ii) 没有条件下,全部记录都会被更新
eg:> update student set name='呵呵';
4)根据条件删除记录
mysql>: delete from [数据库名.]表名 where 条件;
eg:> delete from student where age<30;