数据库初识 用户创建授权 库与表内容的增删改查
Posted saoqiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库初识 用户创建授权 库与表内容的增删改查相关的知识,希望对你有一定的参考价值。
初识数据库
为什要用数据库
第一,将文件和程序存在一台机器上是很不合理的。
第二,操作文件是一件很麻烦的事
数据库的优势
1.程序稳定性 :这样任意一台服务所在的机器崩溃了都不会影响数据和另外的服务。
2.数据一致性 :所有的数据都存储在一起,所有的程序操作的数据都是统一的,就不会出现数据不一致的现象
解决了多个服务同时使用数据的一致性间题
3.并发 :数据库可以良好的支持并发,所有的程序操作数据库都是通过网络,而数据库本身支持并发的网络操作,不需要我们自己写socket 解决了并发问题
4.效率 :使用数据库对数据进行增删改查的效率要高出我们自己处理文件很多 操作文件的效率和便捷问题
认识数据库
什么是数据(Data)
描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字、图片,图像、声音、语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机
什么是数据库(DataBase,简称DB)
数据库是长期存放在计算机内、有组织、可共享的数据集合。
数据库管理系统分类
mysql、Oracle、SQLite、Access、MS SQL Server
#数据库分类:
#关系型数据库:mysgl oracle. sglserver. sgllite accesse 表的形式 关联性强 模糊查询 查询稍慢
#非关系型数据库:redis. mongodb. memcache(内存级别) 键值对形式 利用键查询快 利用值查询慢
sql语句的种类
#ddl:createdrop alter
#dml:select. insert update, delete
#dcl: grant revoke
mysql操作命令
select user(); #查看当前用户名
select database() 查看当前库
登录账号
自己的电脑 管理员用户
# 登录方式 mysq 进入客户端
# 需要使用管理员root用户登陆 之前不输入msql
# mysql -uroot -p # mysql5.6默认是没有密码的
# #遇到password直接按回车键
#第2种 mysql -u用户名 -p用户密码
# mysql> set password = password('123'); # 给当前数据库设置密码 123密码
# 使用公司的数据库 管理员会创建-个账号给你用
# 自己的数据库借给别人用 也可以创建一个账号给别人
# mysql -uroot -p # mysql5.6默认是没有密码的
# #遇到password直接按回车键
#第2种 mysql -u用户名 -p用户密码
修改密码
# - 4.1第一种修改密码方式,当你忘记密码的时候使用这种方式修改
# - 1.停止MySQL服务器
# - 2.在DOs下输入 mysql --skip-grant-tables
# - 3.再新开一个DOS登录MySQL数据库(不需要密码)
# - 4.更改密码
# - use mysql 选择名称是mysql的数据库
# - updata user set password=password('密码') where user='root';
# - 5.关闭DOS窗口,结束mysql进程
# - 6.重启MySQL服务,使用新的密码登录
# - 4.2第二种当你没有忘记密码的时候,想要去修改密码建议使用这种方式,因为简单
# mysqladmin -uroot -p1234 password 123
创建子账号
#创建账号
# mysql> create user 'saoqiang'@'192.168.13.%' identified by '123';# 指示网段
# mysql> create user 'eva'@'192.168.10.5' # 指示某机器可以连接
# mysql> create user 'eva'@'%' identified by '123'; #指示所有机器都可以连接
# mysql> show grants for 'eva'@'192.168.10.5';查看某个用户的权限
# # 创建账号并授权
# mysql> grant all on *.* to 'eva'@'%' identified by '123'
# 查看所有用户
#select user,host from mysql.user;
#mysql> select user(); #查看当前用户名
#mysql> exit # 也可以用\q quit退出
用户授权
# 给账号授权 登录情况下(*代表所有)增删改查all所有 select查看
# mysql> grant all on *.* to 'eva'@'%';
# mysql> grant all on *.* to '用户名'@'对应用户名IP地址';
# mysql> grant select on *.* to 'eva'@'%';#查看
# mysql> grant all on 数据库.表 to '用户名'@'地址'; # 给一个存在的eva账号授权
# mysql> flush privileges; # 刷新使授权立即生效
# # 创建账号并授权
# mysql> grant all on *.* to 'eva'@'%' identified by '123'
删除子用户
drop user '骚强'@'host'; #删除已存在的用户 host 代表他的id
远程登陆他人账户
# 远程登陆 未登录情况下
# $ mysql -uroot -p123 -h 192.168.10.3 #对方的ip
操作文件夹(库)***
增删改查
增
create database 文件夹名;
实列
create database db1;
删除
drop database db1;
实列
drop database 库名;
改
#官方没有直接修改数据库名称的命令
查
show databases; #查看所有文件夹名
select user(); #查看当前用户名
select database() 查看当前库
show tables; #查看当前库中有多少张表 先切换
操作表***
增删改查
增
# 先切换到文件夹下:use db1
# 创建表 要先切到库
create table 表名(
字段名1 类型[(宽度) 约束条件],
字段名2 类型[(宽度) 约束条件],
字段名3 类型[(宽度) 约束条件]
);
实列
create table staff_info (
id int,name varchar(50),
age int(3),
sex enum('male','female'),
phone bigint(11),
job varchar(11));
删
# drop table userinfo;
实列
# drop table 表名;
改
alter table 旧表名 rename 新名字;
实列
alter table 表 rename xbiao;
查
show tables;#查看当前库中有多少张表
desc 表名;#查看表的结构,
show create table 表名;#查看表结构 另一种形式
操作表内容***
增删改查
增加
普通版
insert into staff_info values (内容1,内容2),(内容1,内容2);
实列
insert into user values(2,'wusir'),(3,'太亮');
推荐版
insert into 表名 (字段1,字段2) values
(内容1,内容2);
实列
insert into staff_info (id,name,age,sex,phone,job) values (1,'Alex',83,'female',13651054608,'IT');
删除
delete from user; # 清空表 不用
delete from 表名 where 条件;
举例
delete from user where id = 3;
修改
update 表名 set 修改内容; # 不用 修改所有
update 表名 set 修改内容 where 条件;
举例
update user set name = 'alex',id = 2 where id = 1;
查看
select * from 表名;
举例
select * from user;
以上是关于数据库初识 用户创建授权 库与表内容的增删改查的主要内容,如果未能解决你的问题,请参考以下文章