首页 > 数据库 >MySQL基本命令及基本操作

MySQL基本命令及基本操作

时间:2023-08-17 10:26:47浏览次数:46  
标签:NULL Title 命令 books sec MySQL test 基本操作 MariaDB

MySQL数据库基本操作

原创 Cloud研习社 Cloud研习社 2023-08-12 10:33 发表于山东 收录于合集 #一站式教程274个 #计算机248个 #mysql8个 #linux292个 #云计算285个 图片图片

教程每周二、四、六更新

图片基本操作有:查看有哪些数据库、查看有哪些表、创建数据库、创建表、查看表信息、向表中插入数据等
# 查看有哪些数据库
MariaDB [(none)]> show databases;

# 切换到test数据库
MariaDB [(none)]> use test;

# 查看当前数据库有哪些表
MariaDB [test]> show tables;
Empty set (0.000 sec) # 表明当前数据库是空的

# 如果test数据库不存在,则创建
MariaDB [test]> CREATE DATABASE IF NOT EXISTS test;

# 在数据库test种创建表三个表:books、authors、series
MariaDB [test]> CREATE TABLE IF NOT EXISTS books ( # 创建books表(前提是books表不存在,如果已经存在,则不创建)
    -> BookID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    -> Title VARCHAR(100) NOT NULL,
    -> SeriesID INT, AuthorID INT);
Query OK, 0 rows affected (0.033 sec)

MariaDB [test]> CREATE TABLE IF NOT EXISTS authors # 创建authors表(前提是authors表不存在,如果已经存在,则不创建)
    -> (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT);
Query OK, 0 rows affected (0.005 sec)

MariaDB [test]> CREATE TABLE IF NOT EXISTS series # 创建series表(前提是series表不存在,如果已经存在,则不创建)
    -> (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT);
Query OK, 0 rows affected (0.005 sec)

# 接下来我们再来看看表是否添加成功
MariaDB [test]> show tables;
+----------------+
| Tables_in_test |
+----------------+
| authors |
| books |
| series |
+----------------+
3 rows in set (0.000 sec)

# 向books表中插入数据
MariaDB [test]> INSERT INTO books (Title,SeriesID,AuthorID)
    -> VALUES('The Fellowship of the Ring',1,1),
    -> ('The Two Towers',1,1), ('The Return of the King',1,1),
    -> ('The Sum of All Men',2,2), ('Brotherhood of the Wolf',2,2),
    -> ('Wizardborn',2,2), ('The Hobbbit',0,1);
Query OK, 7 rows affected (0.004 sec)
Records: 7  Duplicates: 0  Warnings: 0

# 查看表信息
MariaDB [test]> describe books;
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| BookID | int(11) | NO | PRI | NULL | auto_increment |
| Title | varchar(100) | NO |     | NULL |                |
| SeriesID | int(11) | YES | | NULL | |
| AuthorID | int(11) | YES |     | NULL |                |
+----------+--------------+------+-----+---------+----------------+
4 rows in set (0.002 sec)

# 查询数据(从表中查询数据)
MariaDB [test]> select * from books;
+--------+----------------------------+----------+----------+
| BookID | Title | SeriesID | AuthorID |
+--------+----------------------------+----------+----------+
| 1 | The Fellowship of the Ring | 1 |        1 |
|      2 | The Two Towers |        1 | 1 |
| 3 | The Return of the King | 1 |        1 |
|      4 | The Sum of All Men |        2 | 2 |
| 5 | Brotherhood of the Wolf | 2 |        2 |
|      6 | Wizardborn |        2 | 2 |
| 7 | The Hobbbit | 0 |        1 |
+--------+----------------------------+----------+----------+
7 rows in set (0.000 sec)
小知识:sql语句允许换行,直到遇到分号+回车才会认为sql语句输入结束,进入执行阶段      

MySQL数据库基本操作(2)

原创 Cloud研习社 Cloud研习社 2023-08-15 08:17 发表于山东 收录于合集 #一站式教程274个 #mysql8个 #linux292个 #计算机248个 #云计算285个 图片图片

教程每周二、四、六更新

图片修改数据
MariaDB [test]> update books set Title = "The Hobbit" where BookID=7;

# 验证修改是否成功
MariaDB [test]> select * from books;
+--------+----------------------------+----------+----------+
| BookID | Title | SeriesID | AuthorID |
+--------+----------------------------+----------+----------+
|      1 | The Fellowship of the Ring |        1 | 1 |
| 2 | The Two Towers | 1 |        1 |
|      3 | The Return of the King |        1 | 1 |
| 4 | The Sum of All Men | 2 |        2 |
|      5 | Brotherhood of the Wolf |        2 | 2 |
| 6 | Wizardborn | 2 |        2 |
|      7 | The Hobbit |        0 | 1 |      # 可以看到,这里Title已经修改成了”The Hobbit“
+--------+----------------------------+----------+----------+

插入数据

格式:

INSERT INTO tablename (field,field2,...) VALUES (value, value2,...);

实例:

# 在表中插入一行
MariaDB [test]> INSERT INTO books (Title, SeriesID, AuthorID)
    -> VALUES ("Lair of Bones", 2, 2);
    
# 验证是否插入成功
MariaDB [test]> select * from books;
+--------+----------------------------+----------+----------+
| BookID | Title | SeriesID | AuthorID |
+--------+----------------------------+----------+----------+
|      1 | The Fellowship of the Ring |        1 | 1 |
| 2 | The Two Towers | 1 |        1 |
|      3 | The Return of the King |        1 | 1 |
| 4 | The Sum of All Men | 2 |        2 |
|      5 | Brotherhood of the Wolf |        2 | 2 |
| 6 | Wizardborn | 2 |        2 |
|      7 | The Hobbit |        0 | 1 |
| 8 | Lair of Bones | 2 |        2 | # 这里就是我们刚插入的行
+--------+----------------------------+----------+----------+

删除数据

# 删除books表中authorid为2034的行。即删除所有authorid为2034的书的信息
delete from books where authorid='2034';

复制表

MariaDB [test]> create table mybooks as select * from books;

这样就完成了表(table)的复制。两个表的数据完全一样。(请自行查看验证)

复制表结构

这里只复制表结构,不复制数据。

MariaDB [test]> create table yourbooks like books;
Query OK, 0 rows affected (0.005 sec)

MariaDB [test]> describe yourbooks;
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| BookID | int(11) | NO | PRI | NULL | auto_increment |
| Title | varchar(100) | NO |     | NULL |                |
| SeriesID | int(11) | YES | | NULL | |
| AuthorID | int(11) | YES |     | NULL |                |
+----------+--------------+------+-----+---------+----------------+
4 rows in set (0.001 sec)

复制表内容

一般用于复制表结构后使用

MariaDB [test]> insert into yourbooks select * from books;
Query OK, 8 rows affected (0.002 sec)
Records: 8 Duplicates: 0 Warnings: 0

现在books表里的内容就复制到了yourbooks中,可以用select * from yourbooks;命令来验证。

检索(查询)数据

select  title from books; # 从books表中检索title(书名)
SELECT title FROM books LIMIT 5; # 从books表中检索title(书名)。只列前出5行

雷哥的Linux云计算运维基础阶段的视频课程已经上线,欢迎关注: 

标签:NULL,Title,命令,books,sec,MySQL,test,基本操作,MariaDB
From: https://www.cnblogs.com/cherishthepresent/p/17636875.html

相关文章

  • mysql-查询库中所有表名称或者某一张表的所有字段名称
    --查询某一库中所有表的名称,SELECTa.TABLE_SCHEMA,a.TABLE_NAME,a.TABLE_COMMENTFROMinformation_schema.TABLESaWHEREa.table_type='BASETABLE'ANDa.TABLE_SCHEMA='<数据库名称>';--查询库中某一张表中的所有字段SELECTa.TABLE_SCHEMA,a.TABLE_NAME,a.TA......
  • 数据库连接工具例如navicat连接mysql报1045错误怎么解决
    问题描述:使用navicat连接数据库的时候,弹出1045错误,但是我的账户密码都是对的,查找了很多方法,只有下面的方法是有用的解决过程1.登录linux服务器中的mysql数据库,确保账户和密码无异常,登录命令如下://登录数据库mysql-uroot-p配置文件确保了给的账号相关信息没有问题后,我又查询......
  • docker镜像命令
    一、docker基础命令启动docker   systemctlstartdocker关闭docker  systemctlstopdocker重启docker  systemctlrestartdocker查看docker版本号  dockerversion    dockerinfodocker设置随服务启动而自启systemctlenabledocker如果是在运行中输入命......
  • sftp常用命令整理
    登录#密码登录[email protected]#秘钥登录sftp-P22-i~/.ssh/[email protected]更改远程工作目录cd/abc更改和/或打印本地工作目录lcd/abc列出远程目录的内容ls列出本地目录的内容lls打印远程工作目录pwd打印本地工作目录lpwd浏览您的本地目录,即打开本......
  • Linux 操作必备 150 个命令,速度收藏~
    nux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。Linux命令功能说明线上查询及帮助命令(2个)man查看命令帮助,命令的词典,更复杂的......
  • MySQL面试题全解析:准备面试所需的关键知识点和实战经验
    MySQL有哪几种数据存储引擎?有什么区别?MySQL支持多种数据存储引擎,其中最常见的是MyISAM和InnoDB引擎。可以通过使用"showengines"命令查看MySQL支持的存储引擎。存储方式:MyISAM引擎将数据和索引分别存储在两个不同的文件中,一个是.MYD文件用于存储数据,一个是.MYI文件用于存储索......
  • MySQL事务
    ACID原子性(Atomicity)隔离性(Isolation)一致性(consistency)持久性(Durability)当把现实世界的状态转换映射到数据库世界时,持久性意味着该转换对应的数据库操作所修改的数据都应该在磁盘上保留下来,不论之后发生了什么事故,本次转换造成的影响都不应该被丢失掉事务​是一个......
  • linux系统常用命令
    系统uname-a查看内核/操作系统/CPU信息head-n1/etc/issue查看操作系统版本cat/proc/cpuinfo查看CPU信息hostname查看计算机名lspci-tv列出所有PCI设备lsusb-tv列出所有USB设备lsmo......
  • 为什么 MySQL 选择 B+树做索引?
    提到MySQL索引,相信使用过的小伙伴并不陌生,日常工作中,我们经常会加索引来提升查询效率,那么,为什么一个慢查询加上索引查询速度就能提升一个档次?索引后面的实现机制到底是什么?今天就让我们一起来探讨这个话题。申明:本文说的磁盘是指普通的机械磁盘一、索引是什么比如阅读时,索引......
  • mysql-综合案例,练习数据表查询操作
    1.环境搭建创建数据库test1createdatabaseifnotexiststest1; 选择test1数据库创建两张表dept(部门表)和employee(员工表)createtableifnotexistsdept(d_nointprimarykeyauto_incrementcomment"部门编号(自增长主键)",d_namevarchar(10)comment"部......