mysql基础知识点

设置权限:

1.mysql -u -p
2.use mysql;
3.update user set host='%' where user='root'; //%指所有ip
4.flush privileges;

创建用户并赋予权限

1.create user '用户名'@'%' identified by '密码';  // % 可替换为指定ip
2.Alter user '用户名'@'%' identified by '新密码'; //修改密码
3.flush privileges;
4.grant all privileges on *.* to '用户名'@'%' with grant option; //授权
	all privileges 可替换为:select,update,insert,delete,drop,create
5.show grants for '用户名'@'%'; //查看用户授权信息
6.revoke all privileges on *.* from '用户名'@'%'; //撤销权限
7.drop user 用户名'@'%';  //删除用户

1.数据类型

1.修饰字符串
char(定长)
varchar(可指定长度)
text(长文本数据 0-65535字节)
longtext(极大文本数据 0-4294967295字节)

2.修饰日期
date(YYYY-MM-DD)
time(HH:ii:ss)
year(YYYY)
datetime(YYYY-MM-DD HH:ii:ss)
timestamp(YYYY-MM-DD HH:ii:ss)

3.修饰整数
范围(无符号)
tinyint(0,255) 
smallint(0,65535)
mediumint(0,16777215)
int(0,42.9亿)
bigint(0,1.8*10^18)

4.修饰小数
decimal(length,precision) 
	length决定了该小数的最大位数 precision 用于设置精度
	例:decimal(5,1)   范围 9999.9~9999.9

float (单精度)
double (双精度)

2.约束

主键约束(primary key)
非空约束(not null)
默认值约束(default)
唯一性约束(unique)
外键约束(foreign key)
检查约束(check)

3.修改表的结构相关的sql

1.创建数据库
create database 库名;

2.查看当前在哪个库里边
select database();

3.进入数据库
use 库名;

4.复制表结构
create table 新表名 like 旧表名

5.复制表
create table 新表名 as select * from 旧表名

6.修改表名
alter table 旧表名 to 新表名

7.删除字段
alter table 表名 drop 字段名;

8.添加字段
 alter table 表名 add 字段名 数据类型;
 
9.修改字段名
alter table 表名 change  旧字段名 新字段名 数据类型;

10.修改字段数据类型
alter table 表名 modify 字段名 数据类型;

11.添加约束条件
alter table 表名 add constraint 约束名 约束类型 (字段名);

12.删除主键约束
alter table 表名 drop primary key;

13.删除外键约束
alter table 表名 drop foreign key 约束名;

14.查看当前mysql使用的字符集
show variables like 'character%';

15.修改库的字符集编码
alter database xiaoxiao default character set gbk;

16.修改表的字符集编码
alter table employee default character set utf8;

4.删除数据的sql及删除的效率

//会把删除的操作记录给记录起来,以便数据回退,不会释放空间,而且不会删除定义
delete from tableName;
	
//不会记录删除操作,会把表占用的空间恢复到最初,不会删除定义	
truncate tableName;
	
//会删除整张表,释放表占用的空间	
drop table tableName;
	
效率:drop > truncate > delete

5.关键字的使用顺序

顺序:
where ---- group by ----- having ------ order by

介绍:
1. DDL 数据定义语言 (Data Definition Language) 例如:建库,建表
2. DML 数据操纵语言(Data Manipulation Language) 例如:对表中的数据进行增删改操作
3. DQL 数据查询语言(Data Query Language) 例如:对数据进行查询
4. DCL 数据控制语言(Data Control Language) 例如:对用户的权限进行设置

SQL优化

expain 关键字解析
id:
  1.id值相同 执行顺序从上往下。 (即先执行数据量小的在执行数据量大的)
  2.id值不同  执行顺序从大到小。(在嵌套子查询时,先查内层再查外层)
  3.id值有相同有不同 执行顺序先执行大的,在执行id相同(从上往下)

Linux中操作数据库
从服务器中导出数据库
1.进入到mysql/bin目录下
2.执行./mysqldump -uroot -proot 源数据库名称 > 导出名称.sql
从服务器导入数据库
1.create database 数据库名称;
2.use 数据库;
3.source /home/数据库.sql     (source sql的路径)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值