目录
第十六章、初识数据库
一、数据库
1、什么是数据库管理数据的系统 - 安装某种管理数据的系统 - 管理的对象本质是文件2、存储数据的位置:内存、硬盘3、什么是系统:运行在硬件基础上,管理其他软件
二、数据库的组成
库:存放多张表 - 文件夹表:包含多条相同结构的记录 - 文件记录:包含多个key-value键值对的一条数据 - 二进制数据字段:描述信息 - 信息本身 == key-value - 二进制数据"""stuid name age gender1 Bob 18 男2 Tom 17 女"""
三、数据库的分类
# 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)移除环境变量总结:如果能连入,先停止服务 | 如果添加了服务,就移除服务 | 取消环境变量配置
五、安装数据库
""""""1、解压免安装版本(5.6 - 没有初始密码)2、配置环境变量:数据库绝对路径下的bin3、配置服务: 启动管理员终端:mysqld --install [nmysql]"""
六、连接数据库
1)游客登陆(不一定能登入,登入了也啥都不能干)>: mysql2)账号密码登录>: mysql -u root -p 再回车再输入密码,没有任何提示,没有密码直接回车3)连接指定服务器的mysql>: mysql -h ip地址 -P 端口号 -u 账号 -p回车后敲入密码eg:>: mysql -hlocalhost -P3306 -uroot -p4)退出数据库>: quit>: exit
七、用户信息查看
1)查看当前登录的用户mysql>: select user();2)root权限下可以查看所有用户信息mysql>: select * from mysql.user;mysql>: select * from mysql.user \Gmysql>: 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)查看创建表的sqlmysql>:show create table 表名;eg>: show create table student;4)查看创建表的结构mysql>:desc 表名;5)删除表mysql>: drop table 表名;eg>: drop table teacher;6)修改表字段mysql> alter table orders modify column shipaddress int(20);
十、记录的基本操作
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;