-
初识数据库(DB)
- 什么是数据库:一个大文件夹,里面有很多数据(数据仓库)
- 每个文件夹也是一个数据库
-
什么是MySQL:数据库管理件(DBMS)database management system。
-
关系型与非关系型:
- 关系型数据库要有表的结构,非关系型数据库是key-value
-
-
- 关系型:sqllite(轻量级的,django内置的),db2,access,sql server,mysql(免费,开源,二次开发),oracle(很贵,功能强大)
- 非关系型:mongodb(轻量级),redis(稳定的),memcache- DBA:database administrator 数据库管理员
-
安装数据库
-
操作数据库
- 和用户权限相关的
- 查看当前用户 select user()
- 查看所有用户 select user,host from mysql.user;
- 创建一个用户:create user 'hqq'@'localhost' identified by '123'
- 删除一个用户:drop user '用户名'@'ip';
- 授权:grant 权限类型 on 数据库名字.* to '用户名'@'ip'
- 刷新:flush privileges;
- 显示权限:
- show grants;当前用户的权限
- Show grants for '用户名'@'ip':某个用户的权限
- 取消权限: revoke 权限 on 数据库名字.* from '用户名'@'ip'
- 显示所有数据库:show databases;
- 切换到某个库下:use 数据库名字;
- 显示某个库下的所有表:show tables;
- 删库:drop database 数据库名字
- 连接别的库:mysql -uroot -p密码 -h ip
- 更改用户名:rename user 旧的'..'@'..' 新的'..'@'..'
- 修改密码:set password for '…'@'…' =password('…');
- 表操作:
- 创建表:create table 表名(字段1 类型 约束条件,字段2 类型 约束条件,。。。。。。)
- 查看表 结构:desc 表名
- 插入:insert into 表名 values('Alex',84),('加QQ',44),。。
- 查询:select * from 表名
- 修改:update 表名 set 字段=值 where 字段=值
- 删除:delete from 表 where 字段=值
- 和用户权限相关的
-
服务器
- 提供服务的机器
- 百度公司提供百度业务服务器的机器:百度服务器
-
数据库服务器
- 提供数据库服务的
-
数据库分类:
- 关系型数据库:sqllite, db2, mysql ,sqlserver ,oracle ,access
- 非关系型数据库 :mongodb, redis, memcahe ,快
- {'Alex':[名字,job,等等]}
- 快递 快递单号
- 视频公司,电影的id:电影的内容
- 人工智能的项目,大量的音乐,古诗,儿歌。
-
Mysql命令:
- select user() 查看当前用户,带()就是内置函数
- set password = password('123') 给当前用户设置密码
- 创建其他用户,create user '用户名t'@'主机的ip或者主机域名' identified by '密码'
- 给一个用户授权
- grant 权限类型 on 数据库名.* to '用户名'@'主机或域名' identified by '密码'
- grant all(select,insert) on 数据库名.* to 'taobaiwan'@'%';
- flush privileges 刷新修改立即生效
- 查看所有的数据库:show databases
- 创建一个数据库: create database 数据库名字
-
操作数据库
- 切换到数据库下: use 数据库的名字
- show tables : 查看表
- drop database 数据库名字
-
操作表
-
创建表
- Create table 表名(name char(12),age int);
-
查看表结构
- desc 表名;
- describe 表名;
-
操作数据
- 插入数据:insert into student values (一行数据), ('al',84),(,);
- 查询数据:select * from student;
- 修改数据:update student set age=85 where name = 'al';
- 删除数据:delete from student where name = 'al';
-
删除表:drop table 表名;
-
-
连接别人的数据库:
- Mysql -u账户 -p密码 -h ip
-
删除一个用户:
- drop user 'username'@'host(ip)';
-
修改密码:set password for 'root'@'localhost' = password('1234')
-
更改用户名:rename user 'username'@'host'(旧) to 'username'@'host'(新)
-
删除权限:revoke 权限类型 on 数据库名.* from 'username'@'host'
-
查询数据库用户
- select host,user from mysql.user;
-
启动数据库:sudo /usr/local/MySQL/support-files/mysql.server start