MySQL中的基本使用一、数据库的创建

数据库的创建

1、数据库的创建:

基础的创建语法:

CREATE DATABASE 命令/create database 命令/Create Database 命令

MySQL是不区分大小写的,所以输入哪种都可以。

mysql 是负责存储 MySQL 各种信息的数据库,它保存了管理用户信息的表 user 等。除此之外,它还保存了存储 MySQL 信息的数据库及示例数据库

MySQL [(none)]> CREATE DATABASE db1
    -> ;
Query OK, 1 row affected (0.004 sec)

这个数据库的创建的结果返回值:

Query OK, 1 row affected (0.004 sec)

表示查询成功,更改了一行,花费时间为0.004秒。

数据库名和表名(→ 1.1.2 节)在 Windows、macOS 和 Linux 上的处理方法并不
相同。在 Windows 和 macOS 的环境中不区分字符的大小写,但是在 Linux 环境中却区分大小写。

虽然,我们可以使用中文来进行数据库和表名和列名,但是这样会增大问题发生的概率,所以不建议使用中文。

查看上述的注意事项:

MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| TESTFLASK          |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.001 sec)

MySQL [(none)]> use testflask;
ERROR 1044 (42000): Access denied for user 'zyp'@'localhost' to database 'testflask'
MySQL [(none)]> use TESTFLASK;
Database changed

【语法的建议错误】:

  1. 确认命令最后是否输入了;
  2. 如果没有输入;的话,直接按回车键,命令行就会显示->标记。这个表示对应的命令行还没结束,此时只要输入;即可。
  3. 如果显示了You have an error in your SQL syntax,请确认一下命令的拼写是否出错误。
  4. 如果显示了Can't create database 'db1'; database exists(db1 已经存在,无法再次创建),就表示数据库 db1 已经被创建过了

1.1、展示创建的所有的数据库:

使用SHOW DATABASES命令用于确认数据库的信息。

对应的使用效果,如下所示:

MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| TESTFLASK          |
| db1                |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
6 rows in set (0.001 sec)

可以在这个里面看到我们所创建的数据库的信息。当输出内容无法容纳在MySQL监视器的一个屏幕中时,我们只要确认这个行数信息就可以了。

1.2、使用use来指定使用的数据库:

一些RDBMS要求在启动MySQL监视器的同时指定数据库,但是MySQL并没有对此提出要求。

使用use来指定需要使用的数据库:

# use 数据库名
use db1;

命令的最后没有输入“;”呢?在 SQL 语句中,命令的最后通常需要输入;,但是 use 不是 SQL 语句,所以不输入;也没有问题。另外,我们可以用 \u 来代替 use,使用 \u db1 命令指定数据库。

使用SELECT DATABASE();来查看当前使用的数据库。

可以使用指定数据库来启动MySQL监视器。通过如下的指令:

mysql db1 -u root -proot

2、创建表:

在创建表时,需要事先指定输入数据的类型是什么、列名是什么。

SHOW 是其他 RDBMS 的 SQL 中所没有的,它是 MySQL 特有的命令。

INTVARCHAR的两种数据类型。

使用CREATE TABLE命令来创建表。在()内使用空格分开列名和数据类型,各个列之间使用,分隔。

CREATE TABLE 表名 (列名1 数据类型1,列名2 数据类型2...);

例如,下面使用SQL语句来进行表的结构的构造:

empidnameage
VARCHAR(10)VARCHAR(10)INT

对应的使用方法:

CREATE TABLE tb1(empid VARCHAR(10),name VARCHAR(10),age INT);

2.1、显示所有的表:

使用SHOW TABLES;命令,来显示数据库中所有的表。

使用指定字符编码创建表 => 在创建的命令之后,加上CHARSET=utf8选项。

对应的完全的指令为:

CREATE TABLE tb1 (empid VARCHAR(10), name VARCHAR(10),age INT) CHARSET=utf8;

2.2、访问其他的数据库:

当从其他的数据库访问数据库db2中的表table的所有记录时,可以使用如下的命令:

SELECT * FROM db2.table;

此命令在没有使用use选择数据库的状态下也可以执行。

在启动监视器的时候指定数据库:

[zyp@iZ0jl9sgt76d4kh58mvinxZ ~]$ sudo mysql mysql -u root  -p
Enter password: 
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 263
Server version: 8.0.35 Source distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [mysql]> 

2.3、确认表的列结构

DESC 表名;

使用上述的命令显示表的列结构。

对应的使用方式:

mysql> DESC tb1;
+-------+-------------+------+-----+---------+-------+
| Field | Type 				| Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| empid | varchar(10) | YES  |		 | NULL		 |			 |
| name 	| varchar(10) | YES  | 		 | NULL		 |			 |
| age	  | int(11)		  | YES  |		 | NULL		 |			 |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.05 sec)

Null 表示“允许不输入任何值”,Default 表示“如果什么值都不输入就用这个值” Field 表示列名,Type 表示数据类型。

创建表的时候,需要将列和数据结构一起创建出来。

2.4、向表中插入数据:

使用INSERT INTO TableName VALUES(data1, data2...);

VALUES后面的括号中按照列的顺序用,来区分各数据。按照下面的指令,来进行插入操作:

INSERT INTO tb1 VALUES('A101','hahah',40);

这样就插入了第一条记录。

当我们输入F7 键可以让历史命令列表显示出来,方便我们后面可以直接的进行对使用过的指令进行管理。

2.5、指定列名插入记录:

对应的语法和上述的语法非常的相似:

INSERT INTO 表名 (列名1, 列名2...) VALUES (数据1, 数据2...);

按照上述的例子就是:

INSERT INTO tb1 (age,name,empid) VALUES (23,'test','A104');

我们使用这样的方式就可以不按照顺序来将一组数据全部输入到表tb1中。

并且使用这样的方式可以一次性输入多条数据。

对应的使用的语法为:

INSERT INTO tb1 (empid,name,age) VALUES ('A101','ppp',40),('A102','ttt',28),
('A103','bbb',20),('A104','aaa',23),('A105','hahaha',35);

3、数据的显示:

使用SELECT命令能够让列的数据显示出来。

显示各个列的数据:

​ SELECT 列名1, 列名2, 列名3… FROM 表名;

当需要显示表tb1中的列nameempid的时候可以使用如下的方法:

SELECT name,empid FROM tb1;

当然,也可以使用正则表达式中的*来表示表中的所有的列。

我们可以使用SELECT * FROM 表名;来显示所有的记录。

SELECT命令还可以输出与显示一些与数据库无关的值。

比如使用:select '测试',就会只单纯的输出‘测试’这个字符串。也可以进行一些简单的计算:SELECT (2+3)*4;

4、表的简单的复制操作:

对应的使用的指令:

CREATE TABLE tb1A SELECT * FROM tb1;

这个语句的简单的使用就是,将表tb1中的内容复制到表tb1A上。

使用之前学习的SHOW TABLES;语句来进行所有创建的表的显示。

【实验总结】:

在进行数据库的插入操作的时候出现的问题:

指令:INSERT INTO tableName VALUES (xxxxxx): 中对应的INTOVALUSE两个属性没有进行添加。导致插入语句出现报错的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值