Mysql学习笔记
一、数据库
#登录数据库
mysql -u root -p
#创建数据库
create database name; -- 当数据库名字为关键字或纯数字时用 `123`
create database if not exists name;-- 查找是否存在再创建
#查看数据库
show databases;
#查看数据库创建语句
show create database name;
#修改数据库字符集
alter database name character set 字符集名称;
#删除数据库
drop database name;
drop database if exists name;-- 查找是否存在再删除
#进入数据库
use name;
#查看当前数据库
select database();
二、数据表
#查看当前数据库下的数据表
show tables;
#创建数据表
create table name (列名称1 数据类型1(长度),列名称2 数据类型2(长度),列名称3 数据类型3(长度)......);
#复制数据表
create table name like name2;
#查看数据表结构
desc name;
#修改表名称
alter table name rename to newname;
#删除表
drop table name;
###修改列
#添加列
alter table name add 列名(长度);
#修改列名称
alter table 表名 change 列名 新列名 数据类型(长度);
#修改列类型
alter table 表名 modify 列名 新数据类型(长度);
#删除列
alter table 表名 drop 列名;
三、数据字段
#添加数据
insert into name(列,...) values(值,....);
insert into values(所有值);
#删除数据
delete from 表名 where 条件;
truncate table name;--删除所有数据
#修改数据
update 表名 set 列名 = 值,列,值 where 条件;
#查看表
select 列,列 from 表;
select * from 表;
select * from users where 表;
#排序查看
select * from 表 order by 排序的依据列 asc升序/ desc降序;
select * from abc01 where id>5 and id<9 order by id;-- 加判断依据
#最大
select max(id) from name;
#最小
select min(id) from name;
#和
select sum(id) from name;
#平均值
select avg(id) from name;
四、数据库权限
#创建用户
create user "name"@"host" identified by "password";
#授权
-- GRANT privileges ON databasename.tablename TO 'username'@'host';
-- GRANT SELECT, INSERT, UPDATE, DELETE, CREATE,DROP ON . TO 'user'@'%';
-- GRANT SELECT ON *.* to'admin'@'%' identified by 'admin';
grant 权限1,权限2 on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;
/* 当权限1,权限2,…被all privileges或者all代替,表示赋予用户全部权限。
当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。
用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用'%'表示从任何地址连接。
‘连接口令’不能为空,否则创建失败。*/
#移除权限
revoke privilege on databasename.tablename from 'username'@'host';
REVOKE SELECT ON *.* FROM 'user'@'%';
#查看权限
show grants;
show grants for 'user'@'%';
flush privileges;
#删除用户
drop user "username";
RENAME USER 'user'@'%' TO 'dong'@'%';
五、远程登录
mysql -h 登录 ip -p 端口(通常3306) -u root -p 密码;
RENAME USER ‘user’@’%’ TO ‘dong’@’%’;
### 五、远程登录
```mysql
mysql -h 登录 ip -p 端口(通常3306) -u root -p 密码;