小鱼儿玄机30码姐妹发现列已删除,1.mysql的初始

2019-07-17 作者:数据库   |   浏览(153)

SELECT * FROM (
select ActionTargetType actiontype as TypeResult, COUNT(RowGuid) as Number from BanJianLogInfo group by ActionTargetType,actiontype
union
select ActionTargetType OperateResult '总数' as TypeResult,count(*) from BanJianLogInfo
group by ActionTargetType,OperateResult
union
select ActionTargetType '总数' as TypeResult,count(*) from BanJianLogInfo group by ActionTargetType
)temp
PIVOT
( sum(Number) /*行转列后 列的值*/ FOR
temp.TypeResult/*需要行转列的列*/ IN ([办件信息成功总数],[办件信息更新],[办件信息失败总数],[办件信息新增]/*列的值*/)
) AS T
转换前

权限管理

我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作。包括select、update、delete、update、grant等操作。那么一般情况在公司之后DBA工程师会创建一个用户和密码,让你去连接数据库的操作,并给当前的用户设置某个操作的权限(或者所有权限)。那么这时就需要我们来简单了解一下:

  • 如何创建用户和密码
  • 给当前的用户授权
  • 移除当前用户的权限

如果你想创建一个新的用户,则需要以下操作:

1.进入到mysql数据库下

mysql> use mysql
Database changed

2.对新用户增删改

小鱼儿玄机30码姐妹 1

1.创建用户:
# 指定ip:192.118.1.1的mjj用户登录
create user 'mjj'@'192.118.1.1' identified by '123';
# 指定ip:192.118.1.开头的mjj用户登录
create user 'mjj'@'192.118.1.%' identified by '123';
# 指定任何ip的mjj用户登录
create user 'mjj'@'%' identified by '123';

2.删除用户
drop user '用户名'@'IP地址';


3.修改用户
rename user '用户名'@'IP地址' to '新用户名'@'IP地址';

4.修改密码
set password for '用户名'@'IP地址'=Password('新密码');

5,查看mysql中的所有用户
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

6,查看user表结构 需要具体的项可结合表结构来查询
 desc mysql.user;

小鱼儿玄机30码姐妹 2

 

3.对当前的用户授权管理

小鱼儿玄机30码姐妹 3

#查看权限
show grants for '用户'@'IP地址'

#授权 mjj用户仅对db1.t1文件有查询、插入和更新的操作
grant select ,insert,update on db1.t1 to "mjj"@'%';

# 表示有所有的权限,除了grant这个命令,这个命令是root才有的。mjj用户对db1下的t1文件有任意操作
grant all privileges  on db1.t1 to "mjj"@'%';
#mjj用户对db1数据库中的文件执行任何操作

grant all privileges  on db1.* to "mjj"@'%';
#mjj用户对所有数据库中文件有任何操作

grant all privileges  on *.*  to "mjj"@'%';

 

#取消权限

 

# 取消mjj用户对db1的t1文件的任意操作
revoke all on db1.t1 from 'mjj'@"%";  

# 取消来自远程服务器的mjj用户对数据库db1的所有表的所有权限

revoke all on db1.* from 'mjj'@"%";  

取消来自远程服务器的mjj用户所有数据库的所有的表的权限
revoke all privileges on *.* from 'mjj'@'%';

小鱼儿玄机30码姐妹 4

ps:在公司中,一般情况下是DBA工程师来做这些授权工作。给你一个用户名和密码,你来连接就可以了。

 

 

4.MySql备份命令行操作

小鱼儿玄机30码姐妹 5

# 备份:数据表结构 数据
mysqldump -u root db1 > db1.sql -p


# 备份:数据表结构
mysqldump -u root -d db1 > db1.sql -p

#导入现有的数据到某个数据库
#1.先创建一个新的数据库
create database db10;
# 2.将已有的数据库文件导入到db10数据库中
mysql -u root db10 < db1.sql -p

小鱼儿玄机30码姐妹 6

这几天一直在学习C 下使用Mysql的方法及其中各种的问题,也看了很多Mysql的API函数,当然自己看的还是很基础的。其实对于每种数据库的操作,基本的方法都是非常类似的,大多都是connect,select,update,delete以及insert这几个操作。接下来我就将这几个步骤以代码的方式展现给大家,相信应该能对大家对mysql的编程起到一个基础模板的作用,方便大家以后对mysql数据库的了解和学习。

最近在写SQL过程中发现需要对一张表结构作调整(此处是SQL Server),其中需要删除多列,由于之前都是一条SQL语句删除一列,于是猜想是否可以一条语句同时删除多列,如果可以,怎么写法?

小鱼儿玄机30码姐妹 7

1.mysql的初始化initConnection:

第一次猜想如下(注意:此处是猜想,非正确的写法):

转换后

1)mysql_init():初始化数据库

ALTER TABLE TableName DROP COLUMN column1,column2

小鱼儿玄机30码姐妹 8

2)mysql_real_connect()(不推荐用Mysql_connect()):连接数据库

但是执行后,发现语法错误, 于是改成如下的方式:

语法:

详细代码如下:

ALTER TABLE TableName DROP COLUMN column1,COLUMN column2

SELECT * FROM TableName temp /*需要行转列数据源*/
PIVOT
( sum(ColumnName1) /*行转列后 列的值*/ FOR
temp.ColumnName2/*需要行转列的列*/ IN ([办件信息成功总数],[办件信息更新],[办件信息失败总数],[办件信息新增]/*列的值*/)
) AS T

 1 bool dataBase::initConnection() {
 2     try {
 3         if (mysql_init(&m_sqlCon) == NULL) {
 4             std::cout << "初始化数据库失败" << std::endl;
 5             return false;
 6         }
 7         // localhost:服务器 root为账号密码 test为数据库名 3306为端口    
 8         if (!mysql_real_connect(&m_sqlCon, host, user, pass,databaseName, port, NULL, 0))
 9         {
10             std::cout << "数据库连接失败" << std::endl;
11             return false;
12         }
13         std::cout << "数据库连接成功" << std::endl;
14         return true;
15     }
16     catch (...)
17     {
18         std::cout << "出错啦" << std::endl;
19         return false;
20     }
21 }

执行正确,之后查看表结构,发现列已删除,证明猜想正确。

2.mysql的查询select:

1)mysql_query():进行查询语句

本文由小鱼儿玄机30码发布于数据库,转载请注明出处:小鱼儿玄机30码姐妹发现列已删除,1.mysql的初始

关键词: 小鱼儿玄机30码