理论+实验·MySQL数据库管理
理论+实验·MySQL数据库管理
文章目录
- 理论+实验·MySQL数据库管理
- 一、数据库基本操作
- 1.1 数据库基本操作
- 1.2 SQL语句概述
- 1.3 创建数据库和表
- 1.4 删除数据库和表
- 1.5 管理表中的数据
- 二、数据库用户授权
- 2.1 数据表高级操作
- 2.2 数据库用户授权
- 三、忘记数据库密码如何修改
一、数据库基本操作
1.1 数据库基本操作
- 查看数据库信息
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
- 查看数据库中的表信息
mysql> use 数据库名;
mysql> show tables;
+------------------+
| Tables_in_school |
+------------------+
| info |
+------------------+
1 row in set (0.00 sec)
- 显示数据表的结构
mysql> describe [数据库名.]表名; ===>可以使用desc [数据库名.]表名;
1.2 SQL语句概述
1.2.1 SQL语言
Structured Query Language的缩写,即结构化查询语言
关系型数据库的标准语言
用于维护管理数据库 包括数据查询、数据更新、访问控制、对象管理等功能
1.2.2 SQL分类
DDL: 数据定义语言—create(创建数据库,表)、drop(删除数据库,表)
DML: 数据操纵语言—insert(添加数据)、update(更新数据)、delete(删除数据,可单独删除一条数据)
DQL: 数据查询语言—select(查看)
DCL: 数据控制语言—grant(加权)、revoke(撤权)
1.3 创建数据库和表
1.3.1 DDL语句可用于创建数据库对象,如库、表、索引等
1.3.2 使用DDL语句新建库、表
- 创建数据库
mysql> create database 数据库名;
- 创建数据表
mysql> create table 表名 (字段定义......);
create table 表名 (字段01名称 字段01类型 字段01约束,字段02名称 字段02类型 字段02约束,......)存储引擎,字符集;
字段01名称: 属性名称,自定义
字段01类型:int(4): 整型 0000-9999double 浮点型 8字节decimal(5,2) 有效数字是5位,小数点后面保留2位 100.00 099.50float 单精度浮点 4字节char(10) 固定长度字符串varchar(50) 可变长度字符串 可以超出
字段01约束:非空约束(not null) 内容不允许为空主键约束(primary key) 非空且唯一 标识默认值(default '未知') 加入没有填数据,默认预先设定的值填写自增特性(auto_increment) id 从1开始
存储引擎: innodb
字符集: UTF-8
1.4 删除数据库和表
1.4.1 使用DDL语句删除库、表
- 删除指定的数据表
mysql> drop table [数据库名.]表名;
- 删除指定的数据库
mysql> drop database 数据库名;
1.5 管理表中的数据
DML语句用于对表中的数据进行管理
包括的操作
insert: 插入新数据update: 更新原有数据delete: 删除不需要的数据
- 向数据表中插入新的数据记录
mysql> insert into 表名(字段1,字段2,字段3,......) values (字段1的值,字段2的值,字段3的值,.....);
- 修改、更新数据表中的数据记录
mysql> update 表名 set 字段名1=值1[,字段名2=值2] where 条件表达式;
- 在数据表中删除指定的数据记录
mysql> delete from 表名 where 条件表达式;
- 不带where条件的语句标识删除表中所有记录
mysql> delete from [数据库名.]表名; ===>在当前数据库里面就可以不写数据库名
DQL是数据查询语句,只有select
用于从数据表中查询符合条件的数据记录
查询时可不指定条件
mysql> select 字段名1,字段名2,...... from 表名;
- 查询时指定条件
mysql> select 字段名1,字段名2,...... from 表名 where 条件表达式;
二、数据库用户授权
2.1 数据表高级操作
- 清空表
mysql> delete from table_name;
mysql> truncate table table_name;
- 临时表
临时建立的表,用于保存一些临时数据,不会长期存在.
#连接断开,临时表被删除
create temporary table mytest (id int(3) not null auto_increment,name varchar(10) character set utf8 collate utf8_bin notnull,score decimal(5,2) not null,address varchar(50) default '未知',)engine=innodb default charset=utf8;
- 克隆表
mysql> create table newtest as select * from test;
# like方法
mysql> create table newtest like test; ===>从test完整复制表的结构涩会给生成到newtest
mysql> insert into newtest select * from test; ===>导入数据
# show create table方法
mysql> show create table test\G; ===>查看表的完整结构 \G===>表示以列显示
# 创建表newtest
mysql> create table newtest(......);
# 导入数据
mysql> insert into newtest select * from test;
2.2 数据库用户授权
- DCL语句设置用户权限(用户不存在时,则新建用户)
mysql> grant 权限列表 on 数据库名.表名 to 用户名@@来源地址 [identified by '密码'];
#示例
mysql> grant select on auth.* to 'test'@'localhost' identified by '123456';
- 查看用户的权限
mysql> show grants for 用户名@来源地址;
#示例
mysql> show grants for 'test'@'20.0.0.20';
- 撤销用户的权限
mysql> revoke 权限列表 on 数据库名.表名 from 用户名@来源地址;
#示例
mysql> revoke all on auth.* from 'test'@'20.0.0.20';
三、忘记数据库密码如何修改
#配置文件里面设置语句进行跳过验证
[root@localhost ~]# vim /etc/my.cnf
[mysqld]
......
skip-grant-tables ===>添加一条代码#进入mysql数据库
mysql> use mysql;
mysql> update mysql.user set authentication_string=password('123456') where user='tom';
#修改好之后记得将之前添加的代码删除
理论+实验·MySQL数据库管理相关推荐
- MySQL实验26-MYSQL数据库管理
MySQL实验26-MYSQL数据库管理 第一关:用户管理 任务描述 公司中需要对数据库进行操作的部门通常有很多,比如财务部门需要访问员工信息表,人力资源部门需要访问部门信息表.通常不同部门需要使用不 ...
- MySQL数据库管理(二)单机环境下MySQL Cluster的安装
上文<MySQL数据库管理(一)MySQL Cluster集群简单介绍>对MySQL Cluster集群做了简要介绍.本文将教大家一步步搭建单机环境下的MySQL数据库集群. 一.单机环境 ...
- mysql数据库管理-2019整理
mysql数据库管理 [注:大部分命令不区分大小写] SQL语言的作用是什么? 结构化查询语言(structured query language)简称SQL 数据查询语言(DQL)= 查 数据定义语 ...
- ubuntu中mysql怎么退出命令_如何使用Python进行MySQL数据库管理
本节我们将学习使用Python进行MySQL数据库管理.Python有多种用于MySQL数据库管理的模块,这里使用MySQLdb模块.MySQLdb模块是MySQL数据库服务器的接口,用于向Pytho ...
- Mysql数据库(二)——mysql数据库管理
Mysql数据库(二)--mysql数据库管理 一.常用数据类型 二.查看数据库结构 1.进入数据库 2.查看数据库的信息 3.查看数据库中表的信息 4.显示数据表的结构(字段) 三.SQL语句概述 ...
- mysql 事务autocommit_亲身实验mysql配置中autocommit和事务的关系
话说亲身实验mysql配置中autocommit和事务的关系,是由于项目中用到的mysql事务没能回滚,我用的是InnoDB的引擎,就开始追查原因.这一查不要紧,发现网上如出一辙的说法竟也不可信,还是 ...
- 推荐轻量级MySQL数据库管理工具 Adminer
服务器上一直用 phpMyAdmin 管理 MySQL 数据库, 有点囊肿, 配置也麻烦, 所以换了个轻量级的 Adminer 数据库管理替换. Adminer 就一个单文件, 知道什么就轻量级了吧, ...
- mysql5.7的客户端软件_mysql数据库管理客户端工具|mysql数据库管理软件 v5.7.22 64位官方版 - 软件下载 - 绿茶软件园|33LC.com...
mysql数据库管理软件是一个多线程的,结构化查询语言(SQL)数据库服务器.mysql数据库管理软件在世界上是最流行的数据库语言,很多人都选择MySQL,最大的特点就是MySQL的执行性能非常高,运 ...
- 华为——IS-IS理论+实验,L1,L2,L1-2彼此之间的邻居关系建立
华为--IS-IS理论+实验,L1,L2,L1-2彼此之间的邻居关系建立 前言 一:什么是IS-IS? 1.1:概述 1.2:IS-IS的简述 1.3:邻居关系的建立 1.4:NSAP地址 二:实验配 ...
最新文章
- OPPO海外官方调试ID
- 庖丁解牛迭代器,聊聊那些藏在幕后的秘密 1
- java日期类的计算问题_java日期计算(Calendar类)
- 树的更多相关算法-3
- 函数包装器,函数私有类处理
- 一个使用Logging Application Block的小问题[xgluxv]
- Hibernate面试问题与解答
- 1077. Kuchiguse (20)-PAT甲级真题
- iPad上浏览超大图像,kakadu和Jpeg2000在iOS上的例程
- 判断URL的HTTP状态
- JavaScript之JS单线程|事件循环|事件队列|执行栈
- 在 ML2 中配置 VXLAN - 每天5分钟玩转 OpenStack(110)
- 教你用爬虫批量采集淘宝商品评论数据
- java面试之简述一下 Java 垃圾回收机制?
- 计算机右键管理是什么软件,右键管理工具打不开怎么办【图文】
- 生物识别技术在汽车领域带来了巨大变革
- EBS创建会计科目请求报错问题查询
- PDF文档分割简单方法
- HC32F460 实现模拟U盘导入python脚本在19264点阵屏上绘图--RTthread移植
- java 获取图片的路径_Java中使用正则表达式获取网页中所有图片的路径
热门文章
- 建“数字风洞”,永信至诚开启安全测试评估专业赛道
- 多测师肖sir_高级金牌讲师_jenkins持续集成测试(001)
- 赵小楼《天道》《遥远的救世主》深度解析(7)有几个人能做到肖亚文这样清晰的逻辑和自身定位?
- 三招沟通小技巧,帮你更好管理领导
- 区块链在中国怎么练?
- 30行Python代码,打造一个微信群聊助手~
- Java后端开发常考面试题大全
- 手机app应用免费监控软件U-APM保姆级教学,入门使用
- php 时间戳 星座,十二个星座的时间划分与性格总括
- 中小学计算机课程标准及解读,小学信息技术课课程标准及解读