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 表名;