1.账户设置
查看当前客户:
select user();
退出:
eixt
设置密码:
set password = password('123');
创建用户:
create user 'sewen'@'192.168.2.%' identified by '123'
查看用户权限
show grant for 'sewen'@'192.168.2.167';
# 远程登陆
mysql -uroot -p123 -h 192.168.10.3;
# 给账号授权
mysql> grant all on *.* to 'eva'@'%';(*.* ->某个库的某个表)
mysql> flush privileges; # 刷新使授权立即生效
# 创建账号并授权
mysql> grant all on *.* to 'eva'@'%' identified by '123';
2.增删改查
1. 操作文件夹(库)
增:create database db1 charset utf8;
查询mysql下所有的库:show databases;
查询当前在使用的是哪个库:show database();
改:alter database db1 charset latin1;
删除: drop database db1;
2. 操作文件(表)
先切换到文件夹下:use db1;
增:
create table 表名(
字段名1 类型[(宽度) 约束条件],
字段名2 类型[(宽度) 约束条件],
字段名3 类型[(宽度) 约束条件]
);
#注意:
1. 在同一张表中,字段名是不能相同
2. 宽度和约束条件可选
3. 字段名和类型是必须的
4.[ ]中的可以不写
示例:create table t1(id int,name char(12));
指定创建的表格的搜索引擎:
mysql> create table ai(id bigint(12),name varchar(200)) ENGINE=MyISAM;
查询所有表的信息:show tables;
查看表:desc t1; 能够查看到字段类型长度.
查询指点表的详细信息:show create table t1; 能够查看到字段类型长度编码引擎约束.
改:alter table t1 modify name char(3);改变表中指定数据的长度定义;
alter table t1 change name name1 char(2);改变表中对应标签名称(必须带上标签内容的类型和最大长度);
删:drop table t1;
3. 操作文件中的内容(记录)
增:insert into t1 values(1,'egon1'),(2,'egon2'),(3,'egon3');
查:select * from t1;(* -> 查询所有的内容)
改:update t1 set name='sb' where id=2;
删:delete from t1 where id=1;
清空表:
delete from t1; #如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始。
truncate table t1;数据量大,删除速度比上一条快,且直接从零开始,
*auto_increment 表示:自增
*primary key 表示:约束(不能重复且不能为空);加速查找
3.存储引擎介绍
1.Innodb存储引擎
数据和索引存储在一起 2个文件
数据索引/表结构:
数据持久化存储
支持事物: 为了保证数据的完整性,将多个操作变成原子性操作 保证数据安全
支持行级锁: 修改的行较少的时候使用 修改数据频繁的操作
支持表级锁: 批量修改多行的时候使用 对于大量数据的同时修改
支持外键: 约束两张表中的关联字段不能随意的添加删除 能够降低数据增删改查的出错率
2.Myisam存储引擎
数据和索引不存储在一起 3个文件
数据索引表结构
数据持久化
只支持表级锁
3.Memory存储引擎
数据存储在内存中 1个文件
表结构
数据断电消失
Memory创建后只有一个 .frm 的文件