MySQL基本管理(库管理与表管理)
目录
数据库基本管理
连接MySQL数据库
连接方式
数据存储流程
mysql管理环境
MySQL基本操作
库管理命令
表管理命令
记录管理命令
练习:数据库基本管理
数据库基本管理
连接MySQL数据库
连接方式
客户端连接MySQL服务的方法
—— 命令行
—— web页面
—— 安装图形化软件
—— 编写脚本(php、Java、Python... ...)
使用mysql命令
—— mysql -h服务器IP -u用户名 -p密码 [数据库名]
—— quit 或 exit 退出
连接数据库时加库名与不加库名的区别:
[root@DB ~]# mysql -uroot -p123456
当我们进入数据库后,不知道自己所在的哪个库时,可以通过以下命令进行查看:
mysql> select database(); //database()内置函数(mysql服务自带的命令),获取当前所在的库
//如图所示:当前位置显示为NULL(空),意思就是没有在任何一个库中,即在数据库目录下 /var/lib/mysql
mysql> exit
[root@DB ~]# mysql -hlocalhost -uroot -p mysql //指定要登陆的库
Enter password:
mysql> select database(); //我们指定要登陆的库后,重新登陆数据库时就会在mysql库下
数据存储流程
客户端把数据存储到数据库服务器上的步骤
1)连接数据库服务器
2)建库 //类似于文件夹
3)建表 //类似于文件
4)插入记录 //类似于文件内容
5)断开连接
mysql管理环境
SQL命令使用规则
—— SQL命令不区分字母大小写(密码、变量值除外)
—— 每条SQL命令以 ; 结束,否则命令不会执行
—— 默认命令不支持Tab键自动补全
—— \c 终止SQL命令
常见的SQL命令分类
—— 管理数据库使用SQL(结构化查询语言)
1)DDL 数据定义语言 如:create、alter、drop
2)DML 数据操作语言 如:insert、update、delete
3)DCL 数据控制语言 如:grant、revoke
4)DTL 数据事物语言 如:commit、rollback、savepoint
MySQL基本操作
库管理命令
库类似于文件夹,用来存储表
—— 可以创建多个库,通过库名区分
—— show databases; //显示已有的库
—— select user(); //显示连接用户
—— use 库名; //切换库
—— select database(); //显示当前所在的库
—— create database 库名; //创建新库
—— show tables; //显示已有的表
—— drop database 库名; //删除库
库名的命名规则
—— 尽可以使用数字、字母、下划线、不能纯数字
—— 区分字母大小写,具有唯一性
—— 不可使用指令关键字、特殊字符
show databases;
mysql> show databases; //显示已有的库,数据库默认已有的4个库
select user();
mysql> select user(); //显示当前登录的用户信息,@前显示的是连接的用户名,@后面是客户端地址,hostname就是本机,root@localhost即就是本机用管理员用户登录的
use 库名;
mysql> use db1; //切换到db1库
Database changed
mysql> select database(); //查看当前所在库,成功切换到db1库
mysql> use aaa; //当切换到不存在库,会报以下错误
ERROR 1049 (42000): Unknown database 'aaa'
create database 库名;
mysql> create database db1;
Query OK, 1 row affected (0.00 sec)
mysql> create database Db1;
Query OK, 1 row affected (0.00 sec)
mysql> show databases; //库名区分大小写,Db1和db1是两个库
[root@DB ~]# cd /var/lib/mysql
[root@DB mysql]# ls //创建数据库所在的位置
show tables;
mysql> select database();
mysql> show tables; //查看当前库db1里面已有的表
Empty set (0.00 sec) //输出结果显示,当前库里为空,即没有表
drop database 库名;
mysql> drop database db1; //删除库db1
Query OK, 0 rows affected (0.01 sec)
mysql> drop database Db1; //删除库Db2
Query OK, 0 rows affected (0.00 sec)
mysql> show databases; //查看已有的库,发现删除成功
[root@DB mysql]# pwd
/var/lib/mysql
[root@DB mysql]# ls //库db1和Db1被删除后,数据库目录下有关的文件夹也被删除了
表管理命令
建表
—— 表存储数据的文件
mysql>create table 库名.表名(
字段名1 类型(宽度)
字段名2 类型(宽度)
... ...
)DEFAULT CHARSET=utf8 ; //指定中文字符集,可以给字段赋值中文
mysql> create database db1; //创建一个名为db1的库
Query OK, 1 row affected (0.00 sec)
mysql> create table db1.stuinfo(name char(15),homeaddr char(20) ); //在db1库里创建stuinfo表
Query OK, 0 rows affected (0.04 sec)
mysql> use db1; //切换到数据库db1
mysql> show tables; //显示数据库db1里已有的表
[root@DB mysql]# pwd 在数据库目录下
/var/lib/mysql
[root@DB mysql]# cd db1 //进入到库db1文件中
[root@DB db1]# ls //可以看到 stuinfo 表对应的文件 stuinfo.frm 和 stuinfo.ibd, 如果数据库目录中这两个文件被删掉这个表就没了,反之表被删掉,数据库目录中的这两个表也没了
db.opt stuinfo.frm stuinfo.ibd
表类似于文件
—— desc 库名.表名; //查看表结构
—— drop table 库名.表名; //删除表
mysql> desc db1.stuinfo; //查看库db1里的表stuinfo的表结构
//如图所示,输出结果的第一列是表的列名,第二列是表的类型
mysql> use db1;
mysql> create table db1.ceshi(a char(10),b char(10) ); //在db1库中创建表ceshi
Query OK, 0 rows affected (0.02 sec)
mysql> show tables;
mysql> drop table db1.ceshi; //删除表ceshi
Query OK, 0 rows affected (0.02 sec)
记录管理命令
记录 类似于文件里的行
—— select * from 库名.表名; //查看表记录
—— insert into 库名.表名 values(值列表); //插入表记录
—— update 库名.表名 set 字段=值; //修改表记录
—— delete from 表名; //删除表记录
select * from 库名.表名;
mysql> select * from db1.stuinfo; //查看表stuinfo的数据,输出结果显示为空表,所以没有数据
Empty set (0.00 sec)
insert into 库名.表名 values(值列表);
格式:insert into db1.stuinfo values("",""),("",""); //插入表记录,values是关键字,一个括号就是插入一行的内容,两个括号就是两行,之间用逗号间隔;括号里面的值用双引号括起来,并用逗号分隔
mysql> insert into db1.stuinfo values("bob","USA"),("lilei","China");
Query OK, 2 rows affected (0.01 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from db1.stuinfo;
update 库名.表名 set 字段=值;
mysql> update db1.stuinfo set homeaddr="beijing"; //修改表stuinfo中所有homeaddr字段的值,将其值改为beijing,即将表中所有人的地址都改为beijing
Query OK, 2 rows affected (0.02 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> select * from db1.stuinfo;
delete from 表名;
mysql> delete from db1.stuinfo; //删除表 stuinfo 中的所有记录
Query OK, 2 rows affected (0.00 sec)
mysql> use db1; //删除的只是表中的记录,表依然是在的
mysql> show tables;
练习:数据库基本管理
1、使用MySQL命令连接数据库
2、练习库管理命令(查看、删除、创建库、切换)
3、练习表管理命令(查看、删除、创建表)
4、练习记录管理命令(插入、查看、修改、删除)
学号 |
姓名 |
性别 |
手机号 |
通信地址 |
B18060101 |
小白 |
男 |
13012345678 |
山顶洞 |
B18060102 |
小黑 |
男 |
14012345678 |
长江流域 |
B18060103 |
小小 |
女 |
15012345678 |
黄河流域 |
1、连接数据库
[root@DB ~]# mysql -uroot -p123456
mysql>
2、创建表
mysql> create table db1.student_information(
-> 学号 char(15),
-> 姓名 char(15),
-> 性别 char(10),
-> 手机号 char(20),
-> 住址 char(50)
-> )DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.03 sec)
mysql> show tables;
3、插入表记录
mysql> insert into db1.student_information values
-> ("B18060101","小白","男","13012345678","山顶洞"),
-> ("B18060102","小黑","男","14012345678","长江流域"),
-> ("B18060103","小小","女","15012345678","黄河流域");
Query OK, 3 rows affected (0.01 sec)
Records: 3 Duplicates: 0 Warnings: 0
4、查看表记录
mysql> select * from db1.student_information;
5、查看创建表示使用的命令
mysql> show create table db1.student_information;
//如图所示,可以查看创建表时使用的命令,该表所用的字符集。
MySQL基本管理(库管理与表管理)相关推荐
- SSM框架(spring+springmvc+mybatis)+Mysql实现的社区物业管理系统(功能包含分角色,报修管理、抄表管理、车位管理、房屋管理、业主管理、投诉管理、报修统计分析等)
博客目录 SSM框架(spring+springmvc+mybatis)+Mysql实现的社区物业管理系统 实现功能截图 系统功能 使用技术 代码 完整源码 SSM框架(spring+springmv ...
- admin后台管理及数据库表管理
admin 后台数据库管理 django 提供了比较完善的后台管理数据库的接口,可供开发过程中调用和测试使用 django 会搜集所有已注册的模型类,为这些模型类提拱数据管理界面,供开发者使用 使用步 ...
- MySQL 数据库和表管理
MySQL 基础之数据库和表管理 数据库中的默认库 INFORMATION_SCHEMA提供对数据库元数据的访问 ,有关MySQL服务器的信息,例如数据库或表的名称,列的数据类型或访问权限.有时用于此 ...
- phpmyadmin mysql管理器_phpMyAdmin(MySQL的资料库管理工具)
phpMyAdmin简介 phpMyAdmin是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的资料库管理工具.phpMyAdmin 可以管理整个MySQL服务器(需要超级用户 ...
- [MYSQL / Mariadb]数据库学习-库、表管理
数据库基础的库.表管理 数据库基础 库管理 MySQL中加上system,可以执行Linux命令 一行写多个命令 表管理 建表 例: 查表架构 创建表记录 查表的创建命令和属性 加\G,可分行显示 修 ...
- mysql怎么维护_Navicat for MySQL 如何管理和维护表
Navicat for MySQL 主要用于管理和开发MySQL数据库,支持单一程序,可同时连接到MySQL和MariaDB.该工具为数据库管理.开发和维护提供了直观而强大的图形界面,给MySQL或M ...
- mysql 树形结构_结合RBAC模型讲解权限管理系统需求及表结构创建
结合RBAC模型讲解权限管理系统需求及表结构创建 在本号之前的文章中,已经为大家介绍了很多关于Spring Security的使用方法,也介绍了RBAC的基于角色权限控制模型.但是很多朋友虽然已经理解 ...
- MySQL学习总结(2) --- 数据表管理(增删改查)、使用DQL查询数据(SELECT)
MySQL学习总结(2) - 数据表管理(增删改查).使用DQL查询数据(SELECT) 1. 数据管理(增删改查) 数据库数据管理方法: a.通过SQLyog等管理工具管理数据库数据 b. 通过DM ...
- 【⑩MySQL】:表管理,让数据管理不再困难
前言 ✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL表/数据库创建和管理的讲解✨ 目录 前言 1. 基础知识 2. 创建和管理数据库 3.创建表 4. 修改表 5. 删除表 6.总结 1. ...
最新文章
- c++ explicit 修饰构造函数
- mysql事务操作——transaction
- 数据结构与算法之前缀数
- linux与虚拟化实验室,Linux·学习笔记(2)虚拟化与仿真
- ap模式和sta模式共存_AP+AC组网下的本地转发及集中转发
- c语言的程序结构语序,第3章 C语序结构.doc
- 信息学奥赛一本通(2033:【例4.19】阶乘之和)
- xunit-ICollectionFixture
- Django--ORM基本操作
- Asp.NET Core2.0 EF ABP Postgresql 数据迁移
- SpringBoot-配置文件创建Bean的过程
- linux异常,samba共享目录看不到文件,本机访问不了自己的mysql,nginx访问提示找不到...
- java 一元二次方程_java求解一元二次方程
- 10大名场面!Python处理办公自动化的10招!
- linux hairpin mode
- 探访地面通数据中心:绿色、智能、安全
- 使用过的moment对象的用法(至2022/11/03)
- 简述JS中 appy 和 call 的详细用法
- 【matlab】怎么记录和保存运行结果-diary 命令
- monelk500用什么表示 多少钱一根切割零售