数据库之mysql篇(2)—— mysql常识引入/用户授权
常识引入
1.概念:
数据库:本质上是一个文件夹
1)查看本机所有数据库:show databases;

结束符:分号【;】,一切数据行的结尾都以分号作为结束
2)创建数据库:create 数据库名;

注:默认的数据库是不能插入中文的,会出错,如果你想插入中文,可以在创建数据库时稍微改下创建数据库语句就行。
CREATE DATABASE 数据库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

这里要说一下,查看数据库默认字符编码 show variables like 'character_set_%'; /show variables like 'char%';

这里显示的是latin1,此为mysql默认的字符编码,类似python2里默认的ASCII码一样,所以这就是mysql默认是不能插入中文的原因。而上面那条命令则可以单独的把创建的该数据库设置字符编码为utf8,就可以识别中文了。
当然你可以一劳永逸的直接修改mysql默认的字符编码 SET character_set_database = utf8 ;
或者也可以直接找到mysql的配置文件my.ini直接修改。5.7版本不管你mysql安装在哪,my.ini都在这:

5.5版本在你安装目录下。
用记事本打开,把latin1全部替换为utf-8就行,保存退出

修改好后重启mysql服务就行,但不建议这么操作,一般情况还是当需要中文插入时单独创建一个可以识别中文的数据库就行
还可以设置当前数据库临时的编码方式:set names utf8/gbk;
这条命令会同时修改 character_set_client,character_set_connection,character_set_results
表创建后,再修改字段的字符集设置不影响已经插入的数据
3)查看当前使用的数据库,select database();【此时的database()是一个函数,所以要加括号,和python里的函数很类似】

4)查看数据库状态信息,status;

5)删除数据库 drop database 数据库名;

强制删除数据库:drop database if exists test2
6)查看错误信息:show warnings;

7)显示创建数据时的参数信息:show create database 数据库名;

8)当存储过程参数乱码:create procedure t ( aa char(10) charset 'gbk');
数据表:属于数据库内,本质上是文件
1)查看某个数据库下所有的表,show tables from 数据库名;【此法可以查看其它数据库下的所有数据表】或者show tables;【此法只能查看当前数据库下的所有数据表】

注意:对某个数据库操作的前提,必须使用命令 use 数据库名,表示正在对此数据库操作,你可以理解为把数据库加入内存准备操作运行
2)创建数据表 create table 数据表名(列名 数据类型[,列名 数据类型...]);

注意:创建数据表时,列名和数据类型必须给定,列名可以随意取,列名和数据类型之间有空格,且数据类型是规定好的一些关键词:




3)查看数据表信息:desc 数据表名;/asc 数据库名;

数据行:文件中的一行数据,一串代码
1)插入数据 insert into 表名(列名) values(数据);

2)查询数据 select × from 表名;

其中,×,是一个通配符,可以匹配任何数据,和正则表达式里的×一个原理
常用关键词:
1)退出关键词,用exit或者quit:

2)
用户权限
1.创建用户 create user '用户名'@‘ip地址’ identfied by '密码';

注意:如果你创建用户时设置了登录ip地址,那么登录时必须已设置的IP地址登录。不同的用户有不同的用户权限,这和windows/linux系统用户权限一个原理
2).登录用户
mysql -hIP地址 -u用户名 -p密码 数据库名[ -e "sql语句"]
常用的为:mysql -u 用户名 -p ;

或者也可以:

但这样的话,注意到没,窗口上就直接显示了你的密码了,不安全
-p后要么带密码,要么不带密码,如跟随密码不能有空格,如不带密码,系统会提示输入密码 -ptest :密码为test ,-p test 是不带密码登录test数据库,而后提示输入登录密码
3)删除用户 drop user '用户名'@'ip地址';

不用说,删除此账号后就不能再用此号登录了
4)修改用户 rename user '用户名'@'ip地址' to '新用户名'@'新ip地址';

5)修改密码 set password for '用户名'@'ip地址' = password('新密码');

登录测试:

修改密码的方法还有:
mysqladmin -u root password "新密码" ;(只能设置root用户,root用户未设置密码时)
mysqladmin -u root password oldpass "新密码";(只能设置root用户,root用户已设置密码时)
SET PASSWORD = PASSWORD('新密码');(修改当前用户密码)
用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议)
6)查看所有用户
use mysql
select user from mysql.user;

7)查看用户权限 show grants for '用户名'@'IP地址';

用户权限有以下类型:
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数据库之mysql篇(2)—— mysql常识引入/用户授权的更多相关文章
- 数据库的显示、创建、使用 、用户授权管理及忘记root用户后重置密码
1.显示数据库 show databases; 默认的数据库及大致功能: mysql -- 用户权限 相关数据 test --用于用户测试数据 information_schema -MySQL 本身 ...
- mariadb或者mysql查看某个库相关的用户授权信息
mariadb或者mysql查看某个库相关的授权信息 SELECT * FROM mysql.Db WHERE Db='DB_NAME';
- (转) Eclipse连接MySQL数据库(傻瓜篇)
Eclipse连接MySQL数据库(傻瓜篇) 原帖地址: http://www.cnblogs.com/fnng/archive/2011/07/18/2110023.html Posted on 2 ...
- PHP訪问MySql数据库 0基础篇
在站点后台,常常要与数据库打交道.本文介绍怎样使用XAMPP来管理MySql数据库及怎样用PHP来訪问MySql数据库. 一.使用XAMPP来管理MySql数据库 首先使用XAMPP打开MySql的管 ...
- 数据库【mysql篇】学习笔记
Windows服务 -- 启动MySQL net start mysql-- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意 ...
- 数据库之mysql篇(1)—— 数据库管理系统简介/mysql的安装、配置
说mysql之前,还是先说说数据库. 什么是数据库: 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后 ...
- MySQL篇,第四章:数据库知识4
MySQL 数据库 4 数据备份(在Linux终端操作) 1.命令格式 mysqldump -u用户名 -p 源库名 > 路径/XXX.sql 2.源库名的表示方式 --all-database ...
- MySQL篇,第三章:数据库知识3
MySQL 数据库 3 索引 1.普通索引(MUL) 2.唯一索引(UNI) 3.主键索引(PRI) 1.使用规则 1.一个表中只能有一个主键(primary)字段 2.对应字段的值不允许重复 ...
- MySQL篇,第二章:数据库知识2
MySQL 数据库 2 名词介绍 1.DB(Database) DB就是数据库,存储数据的仓库 2.DBMS(Database Management System) 数据库管理系统 管理数据库的软件, ...
随机推荐
- 函数式编程之-模式匹配(Pattern matching)
模式匹配在F#是非常普遍的,用来对某个值进行分支匹配或流程控制. 模式匹配的基本用法 模式匹配通过match...with表达式来完成,一个完整的模式表达式长下面的样子: match [somethi ...
- springboot与ActiveMQ整合
前言 很多项目, 都不是一个系统就做完了. 而是好多个系统, 相互协作来完成功能. 那, 系统与系统之间, 不可能完全独立吧? 如: 在学校所用的管理系统中, 有学生系统, 资产系统, 宿舍系统等等. ...
- MySQL GTID你知多少
MySQL在5.6的版本推出了GTID复制,相比传统的复制,GTID复制对于运维更加友好,这个事务是谁产⽣,产⽣多少事务,⾮常直接的标识出来,当然GTID也有限制,对于什么是GTID可以参考我之前的文 ...
- Centos7搭建邮件服务器-Postfix+Cyrus-sasl+Courier-authlib+Dovecot+ExtMail+Centos7
1.环境介绍 MTA: Postfix 3.1.4 SASL: Cyrus-sasl 2.1.26 ; Courier-authlib 0.66.1(Cyrus-sasl使用Courier-authl ...
- CAS 无锁式同步机制
计算机系统中,CPU 和内存之间是通过总线进行通信的,当某个线程占有 CPU 执行指令的时候,会尽可能的将一些需要从内存中访问的变量缓存在自己的高速缓存区中,而修改也不会立即映射到内存. 而此时,其他 ...
- Jenkins结合.net平台工具之ReportGenerator
上一节我们讲解了如何使用opencover生成单元测试覆盖率报告,opencover默认生成的report为xml格式,可读性并不是特别强,如果靠阅读opencover生成的results.xml来分 ...
- YARN集群的mapreduce测试(五)
将user表计算后的结果分区存储 测试准备: 首先同步时间,然后master先开启hdfs集群,再开启yarn集群:用jps查看: master上: 先有NameNode.SecondaryNameN ...
- 收官之作:利用Microsoft Teams构建中大型社区的技术架构与运营经验
这是我在 精彩又一年:Microsoft Teams技术社区2018年度回顾和展望 活动上面的主题分享,我用Microsoft Teams技术社区的实践经验,给大家整理和分享了技术架构和一些运营经验. ...
- 6.7 使用show profile 进行sql分析
1. 查看是否开启 show variables like 'profiling'; 2. 开启功能 set profiling = on 3. 运行sql #写的尽量耗时的sql,利于分析 sele ...
- HTML5标签选择,图文混排使用dl dt dd
图文混排,可以使用 dl dt dd(dd 和 dt 是同级,不可以嵌套,没有先后顺序) 1,上面红色部分是标题,可以使用h1里面包含一个span标签,样式一样,所以两个可以一起写. 2,上面黑色部分 ...