Mysql-数据库
MYSQL初识:
-
数据库优势:
-
程序稳定性:程序崩溃不会影响数据和服务
-
数据一致性:所有数据存储在一起
-
并发:数据库本身支持并发
-
效率:使用数据库对数据进行的增删改查效率要高
-
-
数据库分类:
-
关系型数据库(表结构):
-
特点相对慢,数据之间关联强
-
mysql,oracle,sqlserver,sqllite,accesse
-
-
非关系型数据库(key:value):
-
特点相对快,数据与数据的关联小
-
redis,mongodb ,memcache(淘汰-内存级别,淘汰了),
-
-
-
Mysql语句分为三种:
-
DDL 语句, 数据库定义语言:数据库,表,视图,索引,存储过程,例如create,drop,alter
-
DML 语句,数据库操纵语言:插入、删除、更新、查询数据,insert,delete,update,select
-
DCL 语句, 数据库控制语言:用户的访问权限,grant,revoke
-
Mysql 安装:
-
Mysql安装:
-
路径不能有中文
-
路径不能有特殊字符
-
-
InnoDB创建数据库和表后生成的文件:
-
数据库:文件夹,表:文件
-
db.opt 字符集
-
.frm 表结构
-
.idb 每表一个表空间(表数据和表索引)
-
-
账号:
-
删除匿名账号(安全):
-
drop user ”@localhost;
-
drop user ‘root’@’::1′;
-
-
设置管理员账号:
-
1,使用管理员登录:mysql -uroot
-
2,修改管理员密码:set password = password(“123”);
-
3,登录管理员账号:mysql -uroot -p123
-
-
创建数据库账号:
-
查看创建的账号:select user(); select host,user from mysql.user;
-
创建账号:
-
create user “haiyang”@”192.168.13.%” identified by “123”;
-
flush privileges;
-
-
grant 账号赋权 (增删改查):
-
grant all 所有权限
-
存在账号赋权:grant select on mysql.* to “hai”@”192.168.13.%”
-
无账号创建,并赋予读取权限:
-
grant select on mysql.* to “hai”@”192.168.13.%” identified by “123”;
-
-
创建指定的ip地址登录,只能指定这个ip地址才可以登录:
- mysql -uhaiyang -p123 -h192.168.13.144
-
-
账号赋予的权限可以进行回收……..
-
-
数据库操作:
-
简单库操作:
-
创建库:create database ftp;
-
切换库:use 库名;
-
删除库:drop database 库名;
-
-
简单表操作:
-
创建格式: create table 表名(id int,name char(字符))
-
创建表: create table 表名(id int,name char(12));
-
查看表: show tables;
-
查看表结构: desc 表名; = describe 表名;
-
查看表结构的详细信息:show create table userinfo;
-
查看建表语句: show create table 表名;
-
删除表:drop table 表名;
-
修改表:alter table 表名 rename haha;
-
-
增删改查语句:
-
增
-
插入数据:insert into 表名values(1,”haiyang”);
-
插入两条:insert into 表名values(1,”haha”),(2,”dudu”);
-
查看表数据:select * from 表名;
-
-
删:
-
delete from 表名;
-
删除表中ID为1的数据:delete from 表名where id=1;
-
-
改:
-
错误示例:update userinfo set name=”aa”;(不指定ID将全部修改)
-
根据字段ID修改表数据:update 表名set name=”fafa” where id=2;
-
-
查:
-
delete from 表名;
-
查所有表中的数据:select * from 表名;
-
-