MySQL

MySQL简介

MySQL是一个数据库管理系统,也是一个关系数据库。它是由Oracle支持的开源软件。这意味着任何一个人都可以使用MySQL而不用支付一毛钱。 另外,如果需要,还可以更改其源代码或进行二次开发以满足需要。

linux 安装
	sudo apt install mysql-server

连接数据库

#mysql安装后默认有一个root用户,可以先使用root用于登陆
$>mysql -u 用户名 -p
$>mysql -u root -p

linux配置文件

	/etc/mysql/mysql.conf.d

重启mysql

	service mysql restart
	
	/etc/init.d/mysql restart

用户管理:

创建用户(需要使用root用户)

格式:create user ‘用户名’@‘IP地址’ identified by ‘密码’;

#允许bobo用户在本地登录
>create user 'bobo'@'localhost' identified by '123456';
#允许10.0.122.*网段使用bobo用户登录
>create user 'bobo'@'10.0.122.%' identified by '123456';
#允许用户在任何地方登录
>create user 'bobo'@'%' identified by '123456';
>create user bobo identified by '123456';
查看用户:
>use mysql; #切换数据库
>select user,host from user;
删除用户:
>drop user '用户名'@'IP地址';
修改用户密码:
>set password for '用户名'@'IP地址' = password('新密码');
授权管理:需要root用户

查看权限:show grants for ‘用户名’@‘IP地址’;
授权:grant 权限 on 数据库.表 to ‘用户名’@‘IP地址’;

#只能对axf数据库下的t1表进行查看和插入操作
>grant select,insert on axf.t1 to 'bobo'@'%';
#只能对axf数据库下的所有表进行查看和插入操作
>grant select,insert on axf.* to 'bobo'@'%';
#添加对axf数据库下所有表,添加grant以外的所有权限
>grant all privileges on test.* to hhh;

#权限说明:详情见《权限说明.txt》
#取消授权:
>revoke 权限 on 数据库.表 from '用户名'@'IP地址';

#更改用户可登录ip地址
>use mysql;
>update user set host='localhost' where user='root';
#将数据读取到内存,立即生效
>flush privileges
权限
all privileges                   除grant外的所有权限
select                        仅查权限
select,insert                查和插入权限

usage                        无访问权限
alter                          使用alter table
alter routine                 使用alter procedure和drop procedure
create                       使用create table
create routine              使用create procedure
create temporary tables    使用create temporary tables
create user                  使用create user、drop user、rename user和revoke  all privileges
create view                  使用create view
delete                        使用delete
drop                          使用drop table
execute                       使用call和存储过程
file                          使用select into outfile 和 load data infile
grant option                 使用grant 和 revoke
index                         使用index
insert                         使用insert
lock tables                   使用lock table
process                       使用show full processlist
select                        使用select
show databases              使用show databases
show view                    使用show view
update                       使用update
reload                        使用flush
shutdown                     使用mysqladmin shutdown(关闭MySQL)
super                         ??使用change master、kill、logs、purge、master和set global。还允许mysqladmin????调试登陆
replication client            服务器位置的访问
replication slave                    由复制从属使用
管理mysql常用命令

这里是重要的MySQL命令,经常在MySQL数据库的管理或工作中使用:

#创建数据库
#utf-8:
>create database 数据库名 charset utf8;
#gbk:
>create database 数据库名 default charset gbk;
#删除数据库
>drop database 数据库名
#查看当前选择的数据库
>select database();
#查找记录
select * from mysql.user;
#查看前用户
select user();
#用于选择在MySQL工作区指定的数据库。
>use 数据库名;  
#列出了MySQL数据库管理系统中的所有可访问的数据库。
>show databases;
#显示已经选择数据库中的表的命令。
>show tables; 
#MySQL数据库断开
>exit

#查看表结构
desc 表名;

CRUD(增删改查)

1、增
先创建表

语法:

CREATE TABLE table_name (column_name column_type);

例如:

create table student(
    id int not null auto_increment primary key,
    sex bit,
    age int,
    name char(20),
    info varchar(100),
    birthday date
);

注意:

a、全列插入
​ 格式:insert into 表名 values(…);
​ 说明:主键列是自动增长,但是在全列插入时需要占位,通常使用0,插入成功以后以实际数据为准
​ 示例:insert into student values(0,“tom”,19,1,“北京”,0);
b、缺省插入
​ 格式:insert into 表名(列1,列2,……) values(值1,值2,……);
​ 示例:insert into student(name,age,address) values(“lilei”,19,“上海”);
​ c、同时插入多条数据
​ 格式:insert into 表名 values(…),(…),……
​ 示例:insert into student values(0,“hanmeimei”,18,0,“北京”,0),(0,“poi”,22,1,“海南”,0),(0,“wenli”,20,0,“石家庄”,0);

2、删

​ 格式:delete from 表名 where 条件;
​ 示例:delete from student where id=4;
​ 注意:没有条件是全部删除,慎用

3、改

​ 格式:update 表名 set 列1=值1,列2=值2,…… where 条件;
​ 示例:update student set age=16 where id=7;
​ 注意:没有条件是全部列都修改,慎用

4、查

​ 说明:查询表中的全部数据
​ 格式:select * from 表名;
​ 示例:select * from student;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值