# ### mysql
ctrl + l 清屏
ctrl + c 终止
[linux]
service mysql start 启动mysql
service mysql stop 停止mysql
service mysql restart 重启mysql

[windows] 在超级管理员权限下才能使用
net start mysql 启动mysql
net stop mysql 停止mysql

# ### part1
mysql -u用户名 -p密码 -hip地址

# (1) 登录到本地mysql 默认root 是最高权限账户
mysql -uroot -p123456
localhost => 127.0.0.1 本地IP地址
# (2) 退出mysql
exit 或者 \q 退出
# (3) 远程连接mysql 服务器
mysql -uroot -p -h192.168.80.135

# ### part2
# 查询当前登录用户是谁
select user()
# 设置密码
set password = password("123456");
# 去除密码
set password = password("");

# ### part3
# mysql 创建用户 192.168.80.135
create user "ceshi01"@"192.168.111.222" identified by "111"; # 给具体某个ip设置账户(一般是公网ip)
create user "ceshi02"@"192.168.111.%" identified by "222"; # 给具体某个网段下的所有ip设置一个账户
create user "ceshi03"@"%"; # 所有ip都能登录,不需要密码

# 通过windows链接linux的mysql ,要通过vnet8 nat模式下的ip创建用户才可使用
create user "ceshi04"@"192.168.80.1" identified by "333";

# 查看用户权限
show grants for "ceshi03"@"%";
# GRANT USAGE ON *.* TO 'ceshi03'@'%' | USAGE 无任何权限
grant 权限 on 数据库.表名 to "用户名"%"ip地址" identified by "密码";
"""
# 权限:
select 查询数据库的权限
insert 插入数据库的权限
update 更新数据库的权限
delete 删除数据库的权限
* 代表所有
\G 代表垂直分布查看
"""

grant select on *.* to "ceshi03"@"%" identified by "222"
# all 代表所有的权限
grant all on *.* to "ceshi03"@"%" identified by "222"
# 查看所有数据库
show databases
# 移除权限
revoke select on *.* from "ceshi03"@"%"
# 删除账户
drop user "ceshi03"@"%";
# 刷新权限
flush privileges

# ### part4
"""
linux
sudo find / -name db1
sudo su root 切换到root用户才可以
cd /var/lib/mysql
能看到对应的数据库
"""
# (1) 操作[数据库] (文件夹)

# 创建数据库
create database db1 charset utf8;

# 查看数据库
show databases
# 查看数据库的建库语句
show create database db1

# alter 更改数据库的字符集
alter database db1 charset gbk

# 删除数据库db1
drop database db1;

# (2) 操作[数据表] (文件)
"""选择使用哪个数据库创建表 use 数据库名称 """

# int 整型 char字符
# 字段名1 类型1 , 字段名2 类型2 ...
create table t1(id int , name char)

# 查询所有数据表
show tables
# 查看建表语句
show create table t1;
"""
CREATE TABLE `t2` (
`id` int(11) DEFAULT NULL,
`name` char(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
"""
# 查看表结构
desc t1

# modify 只能改变数据类型
alter table t1 modify name char(5)
# change 连带字段名和数据类型一起改变
alter table t1 change name NAME char(4)
alter table t1 change NAME name char(5)
# add 添加字段
alter table t1 add age int;
# drop 删除字段 column 列
alter table t1 drop column age;
# rename 更改表名
alter table t1 rename t1_1;


# 删除表t1_1
drop table t1_1

# (3) 操作记录 (文件内容)
"""mysql null 相当于 python None"""
增:
# 一次插入一条数据
insert into t1(id,name) values(1,"xboy1")
# 一次插入多条数据
insert into t1(id,name) values(2,"xboy2"),(3,"xboy3"),(4,"xboy4")
# 不指定具体字段,默认把所有字段值插入一遍
insert into t1 values(5,"xboy5")
# 可以具体指定某个字段进行插入
insert into t1(name) values("xboy6")

查:
# * 代表所有
select * from t1;
select id,name from t1;

改:
# update 表名 set 字段=值 where 条件
update t1 set name = "王文" where id = 1
# 如果不加条件,所有数据都改了
update t1 set name = "王文"

删:
# 删除id为1的这条数据
delete from t1 where id = 2
delete from t1
# 重置数据表 (包括重置id)
truncate table t1;

最新文章

  1. JS控制,返回上一页之后强行刷新一次
  2. 在Visual Studio上开发Node.js程序
  3. vim - Convert between hex and decimal
  4. Python遍历文件夹
  5. Ubuntu的Mysql指南
  6. MJExtension使用
  7. 温故而知新:Delegate,Action,Func,匿名方法,匿名委托,事件
  8. [Android Memory] App调试内存泄露之Context篇(下)
  9. C++ Unicode SBCS 函数对照表
  10. [转载].Net中如何操作IIS(源代码)
  11. 在CentOS搭建Git服务器 转
  12. MVVM模式应用 之加载Pivot的数据
  13. delphi编程里的bool跟boolean类型有什么区别
  14. Oracle中包的创建
  15. HTML5分析实战WebSockets基本介绍
  16. 【软测试】(两)计算机组成原理-cpu
  17. 少年,是时候换种更优雅的方式部署你的php代码了
  18. Java数据库学习之SQL语句动态拼接
  19. nginx系列4:日志管理
  20. 20164318 毛瀚逸 Exp4 恶意代码分析

热门文章

  1. 实时同步sersync实战
  2. 05. Go 语言函数
  3. MYSQL高可用集群架构-MHA架构
  4. efk
  5. JVM-Jinfo命令
  6. Eviews作时间序列分析的一个实例
  7. Java读写分离实现
  8. linux生成多对秘钥并指定秘钥登录
  9. operator ->重载是怎么做到的?
  10. Elasticsearch Query DSL 语言介绍