[MYSQL / Mariadb]数据库学习-库、表管理

2023/11/30 8:07:39

数据库基础的库、表管理

  • 数据库基础
  • 库管理
    • MySQL中加上system,可以执行Linux命令
    • 一行写多个命令
  • 表管理
    • 建表 例:
    • 查表架构
    • 创建表记录
    • 查表的创建命令和属性
    • 加\G,可分行显示
    • 修改表记录:
    • 删除表记录:
    • 下面是自定义练习
  • 改表的字符格式:`mysql> alter table db1.st1 DEFAULT CHARSET=utf8;`
    • alter table 库.表 DEFAULT CHARSET=字符格式;

数据库基础

数据库基础
1)连接MySQL服务
连接方式:客户端连接MySQL服务的方法
命令行
web页面
安装图形软件
编写脚本(PHP、Java、Python…)
使用mysql 命令:
mysql -h服务器IP -u用户名 -p密码 [数据库名]
quit 或 exit 退出

2)数据存储流程
	客户端把数据存储到数据库服务器上的步骤
		连接数据库服务器
		建库			##相当于创建文件夹
		建表			##相当于创建文本文件
		插入记录			##相当于在文件文件中写入内容
		断开连接			


3)MySQL管理环境
	SQL命令使用规则
		SQL命令不区分字母大小写(密码,变量值除外)
		每条SQL命令以;结束
		默认命令不支持Tab键自动补齐
		\c 终止sql命令


4)SQL命令分类
	管理数据库使用SQL(结构化查询语言)
	DDL	数据定义语言:如 create、alter、drop
	DML	数据操作语言:如 insert、update、delete
	DCL	数据控制语言:如 grant、revoke
	DTL  数据事务语言:如 commit、rollback、savepoint

库管理

库类似于文件夹,用来存储表

show databases; ##显示已有的库
select user(); ##显示连接用户
use 库名; ##切换库
select database(); ##显示当前所在的库
create database 库名; ##创建新库
show tables; ##显示已有的表
drop database 库名; ##删除库

	库名的命名规则:
		仅可以使用数字、字母、下划线、不能纯数字
		区分字母大小写,具有唯一性
		不可使用指令关键字、特殊字符

		create  database  DB1;		##创建数据库DB1
		create  database  db1;		##创建数据库db1

MySQL中加上system,可以执行Linux命令

mysql> system ls /var/log/mysql/mysqld.log
/var/log/mysql/mysqld.log
mysql>

一行写多个命令

mysql> create database db1; create database db2;
ERROR 1007 (HY000): Can't create database 'db1'; database exists
Query OK, 1 row affected (0.11 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| db1                |
| db2                |
| dbaaa              |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
7 rows in set (0.15 sec)


表管理

表管理命令:
建表:表用于存储数据文件
create table 库名.表名(
字段名1 类型(宽度),
字段名2 类型(宽度),
… …
) DEFAULT CHARSET=utf8; ##指定中文字符,让表支持插入中文

建表 例:

mysql> create table db1.st1(name char(10),sex char(4),address char(60));
Query OK, 0 rows affected (2.06 sec)


mysql> use db1;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed


验证:
mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| st1           |
+---------------+
1 row in set (0.04 sec)

		desc  库名.表名;			##查看表结构
		drop  table  库名.表名;		##删除表
		select  *  from  库名.表名;		##查看表记录,表的内容
		insert  into  库名.表名  values(值列表);	##插入表记录
		update  库名.表名  set  字段=值;	##修改表记录
		delete  from  库名.表名;		##删除表记录
		show  create  table   表名;		##查看创建表的命令和相关属性

查表架构

例:

mysql> desc db1.st1;
+---------+----------+------+-----+---------+-------+
| Field   | Type     | Null | Key | Default | Extra |
+---------+----------+------+-----+---------+-------+
| name    | char(10) | YES  |     | NULL    |       |
| sex     | char(4)  | YES  |     | NULL    |       |
| address | char(60) | YES  |     | NULL    |       |
+---------+----------+------+-----+---------+-------+
3 rows in set (0.02 sec)

创建表记录

创建用户信息

mysql> insert into db1.st1  values ("ohno","boy","guangdong"),("ninomiya","boy","shanxi"),("xiaoxu","girl","shenzhen");
Query OK, 3 rows affected (0.30 sec)
Records: 3  Duplicates: 0  Warnings: 0


验证,查表记录
mysql> select * from db1.st1;                                                                  +----------+------+-----------+
| name     | sex  | address   |
+----------+------+-----------+
| ohno     | boy  | guangdong |
| ninomiya | boy  | shanxi    |
| xiaoxu   | girl | shenzhen  |
+----------+------+-----------+
3 rows in set (0.01 sec)

mysql>

查表的创建命令和属性

mysql> show create table st1;
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                            |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| st1   | CREATE TABLE `st1` (
  `name` char(10) DEFAULT NULL,
  `sex` char(4) DEFAULT NULL,
  `address` char(60) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

加\G,可分行显示

mysql> show create table db1.st1 \G;
*************************** 1. row ***************************
       Table: st1
Create Table: CREATE TABLE `st1` (
  `name` char(10) DEFAULT NULL,
  `sex` char(4) DEFAULT NULL,
  `address` char(60) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.01 sec)

ERROR:
No query specified

修改表记录:

mysql> select * from db1.st1;
+----------+------+-----------+
| name     | sex  | address   |
+----------+------+-----------+
| ohno     | boy  | guangdong |
| ninomiya | boy  | shanxi    |
| xiaoxu   | girl | shenzhen  |
| jun      | boy  | dongjing  |
| sakurai  | girl | qingying  |
| aiba     | girl | qianye    |
+----------+------+-----------+
6 rows in set (0.01 sec)


例:改性别列为女生:
mysql> update db1.st1 set sex="girl";
Query OK, 3 rows affected (0.17 sec)
Rows matched: 6  Changed: 3  Warnings: 0


mysql> select * from db1.st1;
+----------+------+-----------+
| name     | sex  | address   |
+----------+------+-----------+
| ohno     | girl | guangdong |
| ninomiya | girl | shanxi    |
| xiaoxu   | girl | shenzhen  |
| jun      | girl | dongjing  |
| sakurai  | girl | qingying  |
| aiba     | girl | qianye    |
+----------+------+-----------+
6 rows in set (0.00 sec)



删除表记录:

mysql> delete from 库名.表名;

下面是自定义练习

1、建表结构:
mysql> create table db1.st2 (name char(20),  sex  char(5),  age  char(10) ) DEFAULT CHARSET=utf8;
Query OK, 0 rows affected, 1 warning (0.57 sec)


2、查表结构:
mysql> desc db1.st2;
+-------+----------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| name  | char(20) | YES  |     | NULL    |       |
| sex   | char(5)  | YES  |     | NULL    |       |
| age   | char(10) | YES  |     | NULL    |       |
+-------+----------+------+-----+---------+-------+
3 rows in set (0.02 sec)


3、查建表语句:
mysql> show create table db1.st2 \G;
*************************** 1. row ***************************
       Table: st2
Create Table: CREATE TABLE `st2` (
  `name` char(20) DEFAULT NULL,
  `sex` char(5) DEFAULT NULL,
  `age` char(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

ERROR:
No query specified


4、添加表记录:
mysql> insert into db1.st2 values ("zhangsan","boy","32"),("lisi","boy",23),("wangwu","boy","32");
Query OK, 3 rows affected (0.11 sec)
Records: 3  Duplicates: 0  Warnings: 0


mysql> select * from db1.st2;
+----------+------+------+
| name     | sex  | age  |
+----------+------+------+
| zhangsan | boy  | 32   |
| lisi     | boy  | 23   |
| wangwu   | boy  | 32   |
+----------+------+------+
3 rows in set (0.00 sec)

mysql>


5、更新表记录,年龄行为26岁:
mysql> update db1.st2 set age="26";
Query OK, 3 rows affected (0.14 sec)
Rows matched: 3  Changed: 3  Warnings: 0

mysql> select * from db1.st2;
+----------+------+------+
| name     | sex  | age  |
+----------+------+------+
| zhangsan | boy  | 26   |
| lisi     | boy  | 26   |
| wangwu   | boy  | 26   |
+----------+------+------+
3 rows in set (0.00 sec)


6、删表记录
mysql> delete from db1.st2;
Query OK, 3 rows affected (0.09 sec)

mysql> select * from db1.st2;
Empty set (0.00 sec)

mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| st1           |
| st2           |
+---------------+
2 rows in set (0.08 sec)


7、删表:
mysql> drop table db1.st2;
Query OK, 0 rows affected (2.08 sec)

mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| st1           |
+---------------+
1 row in set (0.01 sec)

mysql>

改表的字符格式:mysql> alter table db1.st1 DEFAULT CHARSET=utf8;

alter table 库.表 DEFAULT CHARSET=字符格式;


http://www.jnnr.cn/a/447309.html

相关文章

拉取远程分支到本地修改后上传

在git之前最好保证网络通畅 如果之前本地有项目且有git控制,直接更新就行了 git pull 1、拉取仓库 git clone https://github.com/用户名/仓库名.git 2、对项目进行修改(略) 3、将所有更改添加到暂存区 git add . git add .命令将所有更改添加到暂存区&#…

混频器IP3的测量以及测试误差的来源分析

混频器线性度一直是射频系统设计面临的一个关键问题。混频器的非线性会产生不需要的、不可滤的杂散、互调和非线性失真。例如,非线性混频可能导致不希望的杂散,例如2fRF✕2fLO 或2fRF✕fLO 频率分量,加剧射频系统频谱再生问题。 1、IP3和IMD…

【C++复习1】程序结构和C++的工作原理

如果你是一名newbird的话,建议先看如下的视频加深理解后,再看下面的内容: https://www.bilibili.com/video/BV1N24y1B7nQ?p6 声明 以下的内容均由chatGpt编写与对上面这个视频进行总结生成,我就只负责改改格式。 C的工作原理 …

Spring-Bean管理-注解

组件注册 Component/Controller/Service/Repostory :注册自定义组件到容器中 加上约定的注解。 在Configuration注解的类中配置包扫描器 ComponentScan(vlaue "cn.shaoxiongdu") Configuration: 标注配置类 Scope : 配置是否为单实例 prototype: 多实…

2.V853支持WIFI和有线网卡

100ASK-V853-PRO开发板支持WIFI和有线网卡 0.前言 ​ 通过上一章节,我们已经成功下载Tina SDK包,完成编译并烧写Tina Linux系统,接下来展示100ASK_V853-PRO开发部如何通过WIFI和有线网卡进行上网。 全志Linux Tina-SDK开发完全手册&#x…

【Gin框架深度解析】路由实现原理,让你彻底掌握Gin中路由的奥秘!

文章目录 Gin路由1、基本路由2、Restful风格的API3、API参数4、URL参数5、表单参数6、上传单个文件6.1、上传特定文件 7、上传多个文件8、路由分组9、404页面处理10、路由原理 Gin路由 1、基本路由 ​ 举一个例子: package mainimport ("net/http"&quo…

【Redis】Redis常用基本命令

数据结构 常用基本命令 keys * 查看当前库所有的key exists key 判断某个key是否存在 type key 查看key的类型 del key 删除指定的key数据 unlink key :非阻塞删除,仅仅将keys从key元数据删除,真正的删除会异步操作 6.ttl key 查看key多少秒过期…

K8S通过Ansible安装集群

K8S通过Ansible安装集群 K8S集群安装可参考https://gitee.com/open-hand/kubeadm-ha.git、https://github.com/easzlab/kubeasz.git 安装高可用集群 git clone https://gitee.com/open-hand/kubeadm-ha.git && cd kubeadm-ha升级内核,非必需,默认不升级&…

Java连接顺丰开放平台

今天使用Java去访问顺丰的开放平台时,JSON转换一直不成功,最终发现是 可以看到这里是 "apiResultData": "{\"success\": .........它是以 " 开头的!!!如果是对象的话,那么…

Threejs进阶之十三:CSS3DRenderer与Tween.js实现粒子小球按规律变化

今天我们使用CSS3DRendererTween.js实现Threejs官方示例中的粒子小球按规律变化的效果,先看下最终实现的效果 先来分析下,这个页面的动画效果是由512个小球组合起来的四种不同变化,分别是曲面、立方体、随机和圆球四种变化;下面我…

对传递函数的零极点、频率响应、稳定性的理解

对传递函数的零极点、频率响应、稳定性的理解 零极点 从传递函数求零极点 令传递函数分子为0求出零点,令分母为0求出零点。 频率响应 单极点系统的频率响应 A v A v d c ∗ ( 1 / ( 1 s R C ) ) AvAv_dc*(1/(1sRC)) AvAvd​c∗(1/(1sRC)),系统的极…

RK3568平台开发系列讲解(Linux内存篇)Linux内存管理框架

🚀返回专栏总目录 文章目录 一、内核态内存分配二、用户态内存分配三、内存篇章更新哪些内容沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们一起将整个内存管理的体系串起来。 对于内存的分配需求,可能来自内核态,也可能来自用户态。 一、内核态内存分配…

[架构之路-190]-《软考-系统分析师》-4-据通信与计算机网络-5-图解CRC计算方法与步骤

目录 一、概述: 二、实战演示 假设: 第1步:把多项多项式转化为除数 第2步:把发送数据转换为被除数:在信息序列后加0 第3步:信息序列除以多项式序列 第4步:获得余数(CRC校验值…

10.过滤器

过滤器是做文本格式化的,只能用在 插值表达式 与 v-bind 上,在vue3中已经被弃用了,这里我简单记录一下并写一下在vue3的替代方法 目录 1 基本使用 1.1 vue2中的写法 1.2 vue3的替代 2 私有过滤器与全局过滤器 2.1 vue2的写法 2.2…

unity 完全复刻flappy bird

文章目录 一、 介绍制作bird向右移动的效果基本动画转场渐隐效果dotween 平滑摇头效果柱子控制器碰撞检测下载项目文件 一、 介绍 Flappy Bird是一款由越南开发者Dong Nguyen于2013年发布的2D跳跃游戏。玩家需要控制一只小鸟躲避障碍物,通过不断飞行获得分数。游戏…

数据库sql语句练习(三)

例题: ●哪些项目消费了不止一次 select distinct name消费了不止一次的项目 from shopping group by name having count(*)>1 注:加disdinct去除重复的返回值,不加默认为all ●按照不同消费项目的总金额从高到低的顺序,列出不…

CSDN | 好久不见,甚是想念

💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言A…

KubeEdge节点分组特性简介

01 边缘应用跨地域部署场景及问题 应用生命周期管理复杂导致运维成本提高 02 边缘节点分组管理 节点分组:将不同地区的边缘节点按照节点组的形式组织 边缘应用:将应用资源整体打包并满足不同节点组之间的差异化部署需求 流量闭环:将服务流量…

动态规划--01背包问题

01背包问题 背包问题题目最优解结构性质状态转移方程方程理解 递归实现核心思想代码实现用例测试 画表非递归实现核心思路代码实现画表展示 计算哪些物品放入算法思想代码实现 背包问题 题目 0-1背包问题:给定n种物品和一背包。物品的重量是w;,其价值为v; ,背包的容量为C。问…

vue_组件基础

单文件组件 Vue 单文件组件&#xff08;又名 *.vue 文件&#xff0c;缩写为 SFC&#xff09;是一种特殊的文件格式&#xff0c;它允许将 Vue 组件的模板、逻辑 与 样式封装在单个文件中 <template><h3>单文件组件</h3> </template><script> ex…
最新文章