提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
MySQL的基本操作
登录mysql的语法
# (1) 登录mysql语法 默认root账户 是系统最高权限用户
mysql -uroot -p
127.0.0.1 =>localhost 本地ip地址
# (2) 退出mysql
exit 或者 \q
# (3) 远程连接mysql服务器
mysql -uroot -p -h192.168.65.135
查询用户/设置密码/去除密码
# 查询当前登录的用户是谁
select user()
# 设置密码
set password = password("123456")
# 去除密码
set password = password("")
给ip/网段/所有ip设置账号密码
# 给具体某个ip设置账号密码,用来访问数据库(公网ip)
create user 'ceshi100'@'192.168.65.1' identified by '333';
# 给具体某个网段下的所有ip设置共同的账号密码,用来访问数据库(公网ip) %代表任意的ip 0~255
create user 'ceshi101'@'192.168.174.%' identified by '444';
# 所有的ip都可以登录到服务器数据库中
create user 'ceshi102'@'%' identified by '555';
查看权限
# 刷新权限,立刻生效
flush privileges
# 查看哪个ip哪个用户的权限
'''USAGE 没有任何权限'''
show grants for 'ceshi102'@'%';
+--------------------------------------+
| Grants for ceshi102@% |
+--------------------------------------+
| GRANT USAGE ON *.* TO 'ceshi102'@'%' |
+--------------------------------------+
添加权限/删除权限/删除用户
grant 权限 on 数据库.表名 to '用户名'%'ip地址' identified by '密码'
"""
# 主要权限
select 查看数据表的权限
insert 插入数据表的权限
update 更新数据表的权限
delete 删除数据表的权限
drop 删除数据库的权限
* 代表所有
"""
grant select,drop on *.* to 'ceshi102'@'%' identified by "333"
# all 代表所有权限
grant all on *.* to 'ceshi102'@'%' identified by "333"
# 移除权限
# 单个
revoke drop on *.* from 'ceshi102'@'%'
# 所有
revoke all on *.* from 'ceshi102'@'%'
# 删除用户
drop user 'ceshi102'@'%'
操作数据库:database
# (1) 操作[数据库] (文件夹)
'''增'''
# 创建一个数据库
create database db0824 charset utf8;
'''查'''
# 查看所有数据库
show databases
# 查看建立数据库的语句
show create database db0824 # CREATE DATABASE `db0824` /*!40100 DEFAULT CHARACTER SET utf8 */
'''改'''
alter database db0824_1 charset gbk
'''删'''
drop database db0824_1;
操作表:table
# (2) 操作[数据表] (文件)
# 先选择数据库
use 数据库名
'''增'''
# 字段名1 类型1 ,字段名2 类型2 , ... ...
create table t1(id int , name char);
'''查'''
# 查看所有表
show tables;
# 查看建表语句 配合\G 可以垂直显示
show create table t1;
"""
Create Table: CREATE TABLE `t1_1` (
`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 newname char(4)
# add 添加字段
alter table t1 add age int;
# drop 删除字段 column列
alter table t1 drop column age
# rename 更改表名
alter table t1 rename t1_2
'''删'''
drop table t1_2;
操作表中的数据(记录)
# (3) 操作[记录] (文件中的数据)
'''增'''
# 一次插入一条数据
'''insert into 表名(字段1,字段2,...) values(值1,值2, .... )'''
insert into t1_1(id,name) values(1,"xboy1");
# 一次插入多条数据
insert into t1_1(id,name) values(2,"xboy2"),(3,"xboy3"),(4,"xboy4");
# 不指定具体字段插入(默认把所有字段对应的值插一遍)
insert into t1_1 values(5,'xboy5');
# 指定单个字段插入数据
insert into t1_1(name) values('xboy6');
'''查'''
# * 代表所有
select * from t1_1;
# 指定字段进行查询
select id,name from t1_1;
'''改'''
# update 表名 set 字段=值 where 条件
update t1_1 set name="王闻你真帅" where id = 1
# 切记更改时,加上条件,否则全都改掉了
update t1_1 set name="王闻你真帅"
'''删'''
# 指定id=2的这条数据删除
delete from t1_1 where id = 1
# 如果不加条件,删除所有数据
delete from t1_1
# 重置数据表 (删除数据 + 重置id)
truncate table t1_1;