1.数据库的操作
1.1显示当前数据库
语法:show databases;
进入数据库后显示如下:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| student |
| sys |
| test |
+--------------------+
6 rows in set (0.00 sec)
1.2创建数据库
- 创建名为test1的数据库
mysql> create database test1;
Query OK, 1 row affected (0.03 sec)
- 如果系统没有test2数据库,则创建一个,如果有则不创建
mysql> create database if not exists test2;
Query OK, 1 row affected (0.00 sec)
- 如果系统没有test3数据库,则创建一个使用utf8mb4字符集的db_test数据库,如果有则不创建。
mysql> create database if not exists test3 character set utf8mb4;
Query OK, 1 row affected (0.03 sec)
下面我们可以使用show databases;指令看看刚刚创建的库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| student |
| sys |
| test |
| test1 |
| test2 |
| test3 |
+--------------------+
9 rows in set (0.00 sec)
表里的test1、test2、test3就是刚刚所创建的。
1.3使用数据库
语法:use 数据库名;
mysql> use test1;
Database changed
1.4 删除数据库
语法:drop database [if exists] 数据库名;
([ ] 里面的东西可写可不写)
mysql> drop database test1;
Query OK, 0 rows affected (0.04 sec)
mysql> drop database if exists test2;
Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| student |
| sys |
| test |
| test3 |
+--------------------+
7 rows in set (0.00 sec)
用两种方式均能删除test1和test2,但是加上if exists 的意思就是,如果有就删除,没有的话也不会报错。
2.常用数据类型
2.1数值类型
- bit(m),m指定位数,默认为1.二进制数,范围从1到64,存储数值范围从0到2^M-1次
- int,4字节
- decimal(m,d),m/d最大值+2.双精度,m指定长度,d指定小数位数。精确数值。
2.2字符串类型
- varchar(size),可变长度字符串
- text,长文本数据
2.3日期类型
- datetime,范围从1000到9999年,不会进行时区的检索与转换
- timestamp,范围从1970到2038年,自动检索当前时区并进行转换
3.表的操作
需要操作数据库中的表时,需要先使用该数据库
3.1查看表结构
语法:desc 表名;
mysql> desc stu_demo;
+----------+---------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------+------+-----+-------------------+-----------------------------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| password | varchar(50) | YES | | NULL | |
| birthday | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| amout | decimal(13,2) | YES | | NULL | |
| resume | text | YES | | NULL | |
+----------+---------------+------+-----+-------------------+-----------------------------+
6 rows in set (0.02 sec)
3.2创建表
语法:
create table 表名 (
字段名字 字段类型
字段名字 字段类型
);
如下:
mysql> create table stu_demo(
-> id int,
-> name varchar(20),
-> password varchar(50),
-> birthday timestamp,
-> amout decimal(13,2),
-> resume text
-> );
Query OK, 0 rows affected (0.09 sec)
也可以使用comment增加字段说明
mysql> create table stu_demo1(
-> id int,
-> name varchar(20) comment '姓名',
-> password varchar(50) comment '密码',
-> birthday timestamp,
-> amout decimal(13,2),
-> resume text
-> );
Query OK, 0 rows affected (0.06 sec)
3.3删除表
语法:drop table [ if exists ] 表名;
删除stu_demo表
mysql> drop table stu_demo;
Query OK, 0 rows affected (0.01 sec)
mysql> show tables;
+----------------+
| Tables_in_demo |
+----------------+
| stu_demo1 |
+----------------+
1 row in set (0.00 sec)
如果存在stu_demo表,则删除,不存在则不报错
mysql> drop table if exists stu_demo;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> show tables;
+----------------+
| Tables_in_demo |
+----------------+
| stu_demo1 |
+----------------+
1 row in set (0.00 sec)
mysql> drop table if exists stu_demo1;
Query OK, 0 rows affected (0.04 sec)
mysql> show tables;
Empty set (0.00 sec)
4.内容重点总结
- 操作数据库
– 显示
show databases;
– 创建
create database 数据库名;
– 使用
use 数据库名
– 删除
drop database 数据库名
- 操作表
– 查看
show 表;– 创建
create table 表名 (
字段 类型
);
–删除
drop table 表名;
- 常用数据类型
int 整形
decimal(m,d):浮点数类型
varchar(size):字符串类型
timestamp:日期类型
数据库的学习是一个很长很远的过程,要做一只努力鸭~~~~~