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

数据库基础的库、表管理

  • 数据库基础
  • 库管理
    • 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.mfbz.cn/a/19276.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++】关联式容器——mapset的使用

文章目录 1.关联式容器和键值对1. 关联式容器2. 键值对 2. 树形结构的关联式容器——set1. 模版参数列表2. 默认成员函数3. 迭代器4.容量相关操作5.modify6.其他操作接口 3. 树形结构的关联式容器——map1. 默认成员函数2. 迭代器3. 容量与数据访问4.数据修改5. 其他操作接口 1…

初识C语言

1. 初识C语言 C语言是一门通用计算机编程语言&#xff0c;广泛应用于底层开发。 C语言是一门面向过程的计算机编程语言&#xff0c;它与C,Java等面向对象的编程语言有所不同。 第一个C语言程序&#xff1a; #include<stdio.h>int main(void) {printf("hello worl…

MyBatis基础知识点总结

MyBatis了解 MyBatis 是什么&#xff1f; MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集 MyBatis 可以使用简单的XML或注解用于配置和原始映射&#xff0c;将接口和Java的 POJO&#x…

JVM-内存结构

✅作者简介&#xff1a;热爱Java后端开发的一名学习者&#xff0c;大家可以跟我一起讨论各种问题喔。 &#x1f34e;个人主页&#xff1a;Hhzzy99 &#x1f34a;个人信条&#xff1a;坚持就是胜利&#xff01; &#x1f49e;当前专栏&#xff1a;JVM &#x1f96d;本文内容&…

Mybatis一级缓存详解

目录 一级缓存 一级缓存的组织 一级缓存的生命周期 一级缓存的工作流程 Cache接口的设计以及CacheKey的定义 一级缓存的性能分析 一级缓存与Spring 事务一级缓存存在的弊端 官方文档分析 Spring通过Mybatis调用数据库的过程 一级缓存 对于会话&#xff08;Session&am…

chanmama响应数据解析

0x00目标url aHR0cHM6Ly93d3cuY2hhbm1hbWEuY29tL2F1dGhvckRldGFpbC85OTI0MjExODcxOC9wcm9tb3Rpb24 0x01接口分析 简单的get 但是返回数据被加密了 这里我们就来想想怎么解密这些数据。首先后端发来的数据是加密的&#xff0c;但是我们在前端看到的可不是加密后的数据。前端…

什么是零拷贝?

零拷贝 什么是零拷贝 零拷贝指的是&#xff0c;从一个存储区域到另一个存储区域的copy任务无需CPU参与就可完成。零拷贝的底层是 通过DMA总线技术实现的。零拷贝与具体的编程语言无关&#xff0c;完全依赖于OS&#xff0c;OS支持就可使用&#xff0c;不支持 设置了也不起作用…

大厂视频面试,因为截屏作废

大厂视频面试现在这么严格了么&#xff1f;无意间按到截屏直接显示面试作废&#xff0c;好在最后和HR解释了下&#xff0c;再约时间重新面。 作为一个面试过3、4家大厂&#xff0c;现在在鹅厂工作的过来人来说&#xff0c;上面遇到的这个问题是AI面&#xff0c;不用太担心&…

笔记本电脑开机黑屏没反应怎么办?

笔记本电脑开机黑屏没反应怎么办&#xff1f;有用户电脑开机之后&#xff0c;桌面会变成黑屏显示。而且是常常都会出现这样的问题&#xff0c;非常影响自己的电脑使用体验。那么遇到这个问题要怎么去进行问题的解决呢&#xff1f;来看看以下的解决方法吧。 准备工作&#xff1a…

玩游戏时突然弹出”显示器驱动程序已停止响应并且已恢复”怎么办

随着3A游戏大作不断面市&#xff0c;用户也不断地提升着自己的硬件设备。但是硬件更上了&#xff0c;却还会出现一些突如其来的情况&#xff0c;比如正准备开启某款游戏时&#xff0c;电脑右下角突然出现“显示器驱动程序已停止响应并且已恢复”。遇事不慌&#xff0c;驱动人生…

java lambda表达式详解

一、Lambda初识 我们知道&#xff0c;在Java中&#xff0c;接口是不能实例化的&#xff0c;但是接口对象可以指向它的实现类对象。如果接口连实现对象都没有呢&#xff1f;那还可以使用匿名类的方式&#xff0c;如下: public class JavaTest { public static void main(Strin…

某程序员哀叹:二本计算机,4年开发,年包才40多万。二本真的不如985/211吗?

前段时间&#xff0c;某职场论坛上有人发了一个帖子&#xff0c;发帖人问&#xff1a;为什么大家工资那么高&#xff0c;三五年都六七十万了&#xff1f;我二本计算机专业&#xff0c;四年前端开发&#xff0c;找个年包40万多点就顶头了。 原贴如下&#xff1a; 有网友表示楼主…

2022年平均工资出炉,IT行业又是第一

根据5月9日国家统计局最新资料显示&#xff0c;2022年&#xff0c;全国城镇非私营单位就业人员年平均工资为114029元&#xff0c;比上年增长6.7%&#xff0c;扣除通胀后实际增长4.6%。其中&#xff0c;行业间的差距相当明显。根据资料显示&#xff0c;2022年无论是在私营单位还…

Android---bitmap优化

目录 Bitmap 占用内存大小计算 Bitmap | Drawable | InputStream | Byte[] 之间进行转换 Bitmap 相关方法 BitmapFactory 工厂类 Bitmap 占用内存大小计算 Bitmap 作为位图&#xff0c;需要读入一张图片中每一个像素点的数据&#xff0c;其主要占用内存的地方也正是这些像…

python进阶--月考二

python进阶--月考二 &#xff08;一&#xff09;装饰器&#xff08;二&#xff09;创建名为express.py文件&#xff0c;编写以下推导式&#xff08;25分&#xff09;&#xff08;三&#xff09;创建名为process_test.py的文件&#xff0c;计算1-3000之间的水仙花数&#xff08;…

QT MD4 MD5 Sha1等几种加密方式

QT MD4 MD5 Sha1等几种加密方式 [1] QT MD4 MD5 Sha1等几种加密方式[2] qt MD5 和AES 加密一 、MD5 加密二、AES 加密和解密 [3] QT中sqlite数据库数据加密/混淆---MD5/SHA1/SHA2/SHA3&#xff08;1&#xff09;创建一个加密对象&#xff08;2&#xff09;放入要加密的数据&…

目前可用的ChatGPT网站

本文意在整理可用gpt-3.5、gpt-4.0等网站。 本文主要是方便自己翻阅&#xff0c;如对您也有所帮助&#xff0c;不胜荣幸~ 文章目录 chatgpt.qdymys.cngpttalkchatgpt-cn.cobing.comchat机器人wuguokai.cn总结 chatgpt.qdymys.cn 网址&#xff1a;https://chatgpt.qdymys.cn/限…

SpringCloud —— eureka

目录 1.认识微服务 1.0.学习目标 1.1.单体架构 1.2.分布式架构 1.3.微服务 1.4.SpringCloud 1.5.总结 2.服务拆分和远程调用 2.1.服务拆分原则 2.2.服务拆分示例 2.2.1.导入Sql语句 2.2.2.导入demo工程 2.3.实现远程调用案例 2.3.1.案例需求&#xff1a; 2.3.2.注…

mysql进阶-查询优化-慢查询日志

文章目录 一、什么是慢查询日志二、慢查询日志能干什么2.1 性能分析和优化2.2 诊断和排查问题2.3 数据分析和探索 三、慢查询日志实战3.1 永久开启开启慢查询日志3.2 临时开启慢查询日志3.4 常用命令 四、如何分析慢查询日志五、优化慢查询语句五、总结 一、什么是慢查询日志 …

观察者设计模式(Observer Design Pattern)[论点:概念、组成角色、相关图示、示例代码、框架中的运用、适用场景]

文章目录 概念组成角色相关图示示例代码框架中的运用适用场景 概念 观察者设计模式&#xff08;Observer Design Pattern&#xff09;是一种行为型设计模式&#xff0c;它定义了一种对象间的一对多的依赖关系&#xff0c;让多个观察者对象同时监听某一个主题对象&#xff0c;当…
最新文章