目录
1.数据库的基本操作
1.1显示所有数据库
1.2创建数据库
1.3删除数据库
2.数据库的类型
2.1数值类型
2.2字符串类型
2.3日期类型
3.表的简单操作
3.1创建一个表
3.2显示表的结构
3.3显示数据库中的所有表
3.4删除指定表
4.实战练习
1.数据库的基本操作
数据库的基本操作为:显示数据库,创建数据库,删除数据库,以及显示表结构、创建表、删除表。本期内容主要带大家了解数据库中的类型,以及如何操作数据库的一些基本方法。
1.1显示所有数据库
我们使用show databases命令来显示。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| mytest |
| performance_schema |
| student_m |
| sys |
| test |
+--------------------+
7 rows in set (0.00 sec)
上方代码中的最后一行 7 rows in set (0.00 sec) 意为:有7行在列表里面花了0秒。
1.2创建数据库
我们使用create database 数据名 来创建,如创建一个名为fristcreate的数据库。
mysql> create database fristcreate;
Query OK, 1 row affected (0.00 sec)
上述代码最后一行,显示 Query OK, 1 row affected (0.00 sec) 意味着我们的数据库已经创建成功。我们可以使用显示所有数据库来查看该数据库是否创建成功。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| fristcreate |
| mysql |
| mytest |
| performance_schema |
| student_m |
| sys |
| test |
+--------------------+
8 rows in set (0.00 sec)
我们可以看到,在上述结构中的第二行多出了我们刚刚创建的fristcreate数据库。
当然我们在创建数据库的时候可以加上一条语句:if not exits 来确认创建数据库时该数据库是否存在如果有则创建不了,语法格式为:create database if not exits 数据库名;
1.3删除数据库
删除数据库我们使用drop database 数据库名; 语句来实现删除,也可以加上if exists 来确认该数据库是否存在:drop database if exists 数据库名;删除刚刚创建的fristcreate数据库:
mysql> drop database fristcreate;
Query OK, 0 rows affected (0.00 sec)
当出现以上信息,代表着数据库删除成功。我们来显示所有数据库就能看到,该数据库已被删除:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| mytest |
| performance_schema |
| student_m |
| sys |
| test |
+--------------------+
7 rows in set (0.00 sec)
2.数据库的类型
2.1数值类型
数据类型 | 大小 | 说明 | 对应Java类型 |
---|---|---|---|
BIT[(M)] | M可指定大小,默认为1 | 二进制数,M范围从1到64, 存储数值范围从0到2^M-1 |
Boolean,在数据库中默认为0,可设置为1 |
TINYINT | 1字节 | Byte | |
SMALLINT | 2字节 | Short | |
INT | 4字节 | Integer | |
BIGINT | 8字节 | Long | |
FLOAT(M,D) | 4字节 | 单精度,M指定长度,D指定 小数位数。会发生精度丢失,不稳定。 |
Float |
DOUBLE(M,D) | 8字节 | Double | |
DECIMAL(M,D) | M/D最大值+2 | 双精度,M指定长度,D指定 小数位数。不会发生精度丢失,稳定。 |
BigDecimal |
NUMERIC(M,D) | M/D最大值+2 | 双精度,M指定长度,D指定 小数位数。不会发生精度丢失,稳定。 |
BigDecimal |
2.2字符串类型
数据类型 | 大小 | 说明 | 对应java类型 |
---|---|---|---|
VARCHAR (SIZE) | 0-65,535字节 | 可变长度字符串 | String |
TEXT | 0-65,535字节 | 长文本数据 | String |
MEDIUMTEXT | 0-16 777 215字节 | 中等长度文本数据 | String |
BLOB | 0-65,535字节 | 二进制形式的长文本数据 | byte[] |
2.3日期类型
数据类型 | 大小 | 说明 | 对应的Java类型 |
---|---|---|---|
DATETIME | 8字节 | 1000~9999年,不会进行时区检索和转换 | java.util.Date、 java.sql.Timestamp |
TIMESTAMP | 4字节 | 1970~2038年,自动进行检索时区并进行转换 | java.util.Date、 java.sql.Timestamp |
3.表的简单操作
一个表的结构如下:
3.1创建一个表
创建一个表我们按照以下语法来创建:
mysql> create tablename(
-> 字段1 类型
-> 字段2 类型
-> 字段3 类型
-> );
如创建一个学生表:
mysql> use mytest;
Database changed
mysql> create table student(
-> id int,
-> name varchar(10),
-> grade int
-> );
Query OK, 0 rows affected (0.02 sec)
当下方出现上图所提示语句,就代表着该表已完成创建。注意,在创建一个表的时候,得先使用数据库。
3.2显示表的结构
显示表的结构我们使用desc 表名; 来显示。
mysql> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(10) | YES | | NULL | |
| grade | int(11) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
3.3显示数据库中的所有表
我们使用 show tables from 数据库名;来查看该数据库中的所有表
mysql> show tables from mytest;
+------------------+
| Tables_in_mytest |
+------------------+
| student |
+------------------+
1 row in set (0.00 sec)
我们可以看到显示了,刚刚创建的student表。
3.4删除指定表
删除指定表我们使用 drop table 表名;这个sql语句来删除,如删除上方的student表。
mysql> drop table student;
Query OK, 0 rows affected (0.00 sec)
删除成功后,我们来显示mytest数据库中的表:
mysql> show tables from mytest;
Empty set (0.00 sec)
显示为空,代表mytest数据库中没有任何的表,因此我们删除student表成功了。
4.实战练习
有一商店的数据,记录客户及购物情况,有以下三个表组成:
- 商品goods(商品编号goods_id,商品名goods_name, 单价unitprice, 商品类别category, 供应商provider)
- 客户customer(客户号customer_id,姓名name,住址address,邮箱email,性别sex,身份证card_id)
- 购买purchase(购买订单号order_id,客户号customer_id,商品号goods_id,购买数量nums)
实现目标:在同一个数据库下,创建这个三个表并展示表解构。下面为解题步骤,大家可以先根据上述知识点来自行编写,如有不会可参考下方代码。
首先,我们要先创建一个数据库:
mysql> create database mytest;
Query OK, 1 row affected (0.00 sec)
mysql> use mytest;
Database changed
创建一个名为mytest的数据库,并且使用该数据库。
其次,根据题目要求,创建相应的参数与类型的表。
创建goods :
mysql> create table if not exists goods(
-> goods_id int,
-> goods_name varchar(15),
-> unitprice int,
-> category varchar(20),
-> provider varchar(30)
-> );
Query OK, 0 rows affected (0.03 sec)
创建customer表 :
mysql> create table if not exists customer(
-> customer_id int,
-> name varchar(15),
-> address varchar(30),
-> email int,
-> sex varchar(5),
-> card_id int
-> );
Query OK, 0 rows affected (0.03 sec)
创建purchase表 :
mysql> create table if not exists purchase(
-> order_id int,
-> customer_id int,
-> goods_id int,
-> nums int
-> );
Query OK, 0 rows affected (0.03 sec)
显示数据库里面的所有表:
mysql> show tables from mytest;
+------------------+
| Tables_in_mytest |
+------------------+
| customer |
| goods |
| purchase |
+------------------+
3 rows in set (0.00 sec)
显示数据库中的表,我们使用show tables from 表名 这个sql语句来进行显示。
显示表的结构,拿customer表来举例:
mysql> desc customer;
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| customer_id | int(11) | YES | | NULL | |
| name | varchar(15) | YES | | NULL | |
| address | varchar(30) | YES | | NULL | |
| email | int(11) | YES | | NULL | |
| sex | varchar(5) | YES | | NULL | |
| card_id | int(11) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)
显示表结构就比较简单,之间使用desc 表名即可。
总结:通过这篇博文,我们可以知道当我们创建成功数据库以及表的时候都会显示出Query Ok ...这段语句,那么这段语句就代表着我们操作正常。在我们显示数据库结构或表结构时候,下方会出现* rows in set (.. sec)这段语句,这段语句就代表着我们数据的行数。
本期博客到这里就结束了,内容非常的简单,感谢您的阅读。文章来源:https://www.toymoban.com/news/detail-410366.html
文章来源地址https://www.toymoban.com/news/detail-410366.html
到了这里,关于MySQL数据库基础初学者必备知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!