数据库管理操作

                                                           数据库管理操作

一、数据库的管理、使用
1、数据库的安装及启用:https://blog.csdn.net/lkolkolkol/article/details/104564291
2、使用mysql数据库客户端命令
3、windows系统上进行远程登录管理
(1)常用软件:phpMyAdmin、Navicat

二、SQL语言
1、SQL与T-SQL
(1)SQL:结构化查询语言,是目前关系型数据库管理系统中使用最广泛的查询语言
(2)T-SQL:SQL 程序设计语言的增强版,它是用来让应用程式与 SQL Server 沟通的主要语言。提供标准 SQL的DDL 和 DML功能,加上延伸的函数、系统预存程序以及程式设计结构(例如 IF 和 WHILE)让程式设计更有弹性。
2、SQL语言组成
(1)DML:数据操纵语言
①插入数据:instert into 表名(字段1,字段2……) values(值1,值2……);
②修改数据:update 表名 set 字段1=值1,字段2=值2…… where 条件
③删除数据:delete from 表名 where 条件
(2)DQL:数据查询语句
①查询数据:select 字段名1,字段名2…… from 表名 where 条件
(3)DDL:数据定义语言
①创建库:create database 库名;
②创建表:create table 表名(字段1 类型,字段2 类型……,PRIMARY KEY(主键名));
③删除库:drop database 库名;
④删除表:drop table 库名.表名;
⑤删除表字段:alter table 表名 drop 字段1;
⑥添加表字段:alter table 表名 add 字段1 类型 [after 指定字段之后];
⑦修改表字段:
1)修改类型:alert table 表名 modify 旧字段 新类型;
2)修改字段:alert table 表名 change 旧字段 新字段 新类型[not null default 值];
3)修改默认值:alter table 表名 alter 字段 set default 值;
4)删除默认值:alter table 表名 alter 字段 drop default;
(4)DCL:数据库控制语言
①grant 权限 on 数据库对象 to 用户
1)grant all on *.* to user@’192.168.1.%’ [identified by ‘111111’];
②revoke 权限 on 数据库对象 from 用户
③权限列表:

权限

描述

alter any cluster

修改任意簇的权限

alter any index

修改任意索引的权限

alter any role

修改任意角色的权限

alter any sequence

修改任意序列的权限

alter any snapshot

修改任意快照的权限

alter any table

修改任意表的权限

alter any trigger

修改任意触发器的权限

alter cluster

修改拥有簇的权限

alter database

修改数据库的权限

alter procedure

修改拥有的存储过程权限

alter profile

修改资源限制简表的权限

alter resource cost

设置佳话资源开销的权限

alter rollback segment

修改回滚段的权限

alter sequence

修改拥有的序列权限

alter session

修改数据库会话的权限

alter sytem

修改数据库服务器设置的权限

alter table

修改拥有的表权限

alter tablespace

修改表空间的权限

alter user

修改用户的权限

analyze

使用analyze命令分析数据库中任意的表、索引和簇

audit any

为任意的数据库对象设置审计选项

audit system

允许系统操作审计

backup any table

备份任意表的权限

become user

切换用户状态的权限

commit any table

提交表的权限

create any cluster

为任意用户创建簇的权限

create any index

为任意用户创建索引的权限

create any procedure

为任意用户创建存储过程的权限

create any sequence

为任意用户创建序列的权限

create any snapshot

为任意用户创建快照的权限

create any synonym

为任意用户创建同义名的权限

create any table

为任意用户创建表的权限

create any trigger

为任意用户创建触发器的权限

create any view

为任意用户创建视图的权限

create cluster

为用户创建簇的权限

create database link

为用户创建的权限

create procedure

为用户创建存储过程的权限

create profile

创建资源限制简表的权限

create public database link

创建公共数据库链路的权限

create public synonym

创建公共同义名的权限

create role

创建角色的权限

create rollback segment

创建回滚段的权限

create session

创建会话的权限

create sequence

为用户创建序列的权限

create snapshot

为用户创建快照的权限

create synonym

为用户创建同义名的权限

create table

为用户创建表的权限

create tablespace

创建表空间的权限

create user

创建用户的权限

create view

为用户创建视图的权限

delete any table

删除任意表行的权限

delete any view

删除任意视图行的权限

delete snapshot

删除快照中行的权限

delete table

为用户删除表行的权限

delete view

为用户删除视图行的权限

drop any cluster

删除任意簇的权限

drop any index

删除任意索引的权限

drop any procedure

删除任意存储过程的权限

drop any role

删除任意角色的权限

drop any sequence

删除任意序列的权限

drop any snapshot

删除任意快照的权限

drop any synonym

删除任意同义名的权限

drop any table

删除任意表的权限

drop any trigger

删除任意触发器的权限

drop any view

删除任意视图的权限

drop profile

删除资源限制简表的权限

drop public cluster

删除公共簇的权限

drop public database link

删除公共数据链路的权限

drop public synonym

删除公共同义名的权限

drop rollback segment

删除回滚段的权限

drop tablespace

删除表空间的权限

drop user

删除用户的权限

execute any procedure

执行任意存储过程的权限

execute function

执行存储函数的权限

execute package

执行存储包的权限

execute procedure

执行用户存储过程的权限

force any transaction

管理未提交的任意事务的输出权限

force transaction

管理未提交的用户事务的输出权限

grant any privilege

授予任意系统特权的权限

grant any role

授予任意角色的权限

index table

给表加索引的权限

insert any table

向任意表中插入行的权限

insert snapshot

向快照中插入行的权限

insert table

向用户表中插入行的权限

insert view

向用户视图中插行的权限

lock any table

给任意表加锁的权限

manager tablespace

管理(备份可用性)表空间的权限

references table

参考表的权限

restricted session

创建有限制的数据库会话的权限

select any sequence

使用任意序列的权限

select any table

使用任意表的权限

select snapshot

使用快照的权限

select sequence

使用用户序列的权限

select table

使用用户表的权限

select view

使用视图的权限

unlimited tablespace

对表空间大小不加限制的权限

update any table

修改任意表中行的权限

update snapshot

修改快照中行的权限

update table

修改用户表中的行的权限

update view

修改视图中行的权限

3、查询命令详解
(1)用查询内容创建新表:create table A select * from B;(sql server:select into)
(2)条件命令:where
(3)组查询:group by
①不带函数,则直接返回非重复的第一行数据
②函数count():返回相同值的个数——select status,count(*) from user group by status;
(4)排序:order by 条件 [asc/desc];
(5)聚合函数

(6)运算符:
①算术运算符

②比较运算符

③逻辑运算符

④位运算符

(7)多表联合查询
①内连接inner join on
②左外链接left join on
③右外连接right join on
④多表联合查询:select user.姓名 as 学生,teacher.姓名 as 老师,school.校名 as 学校 from school left join user on school.id=user.学校ID left join teacher on school.id=teacher.学校ID;
4、用户管理
(1)新建用户:create user ‘username’@’%’ identified by ‘password’
(2)删除用户:drop user 'zhangsan'@'%'
(3)重命名:rename user 'old_user'@'host'  to 'new_user'@'host'
(4)设置密码:set password=password('123456')或set password='username'@'host’=password('123456')
(5)密码破解:
①停止服务 service mysqld stop
②使用mysqld_safe结合skip-grant-tables启动数据
1)mysqld_safe --skip-grant-tables &
③无密码登录数据库,更新root密码
1)update mysql.user set authentication_string=password('123456') where user='root';
④刷新数据库(修改的内容提取到内存马上生效)
1)flush privileges;
5、索引:
(1)什么叫索引
数据库中的索引是某个表中一列或者若干列值的集合,以及物理标识这些值的数据页的逻辑指针清单
(2)创建普通索引
create index 索引名  on tablesname (列名)
(3)唯一索引
create unique index 索引名 on 表名(列名)
(4)主键索引
CREATE TABLE tablename ( [...], PRIMARY KEY (列的列表) );
ALTER TABLE tablename ADD PRIMARY KEY (列的列表);
(5)查看索引
SHOW  INDEX FROM  tablename;
SHOW  KEYS  FROM tablename ;

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值