写在前面:
对于数据库而言,增删查改将会是程序员之后工作中得重中之重,因此必须熟悉数据库基的本操作,牢记并加以练习!!!
在讲解数据库之前,简略提及一下cmd窗口登录MySQL
打开控制命令后(前提为以下载好MySQL并配置好相应环境)输入mysql -u root -p+密码;
回车出现如下即为进入MySQL成功
一.数据库常用基本数据类型简介
1.基本型(整形,浮点型)
数据类型 | 说明 | 占用存储空间 |
TINYINT | 1字节 | |
SMALLINT | 2字节 | |
INT | 4字节 |
BIGINT | 字节 | |
FLOAT(M,D) | 单精度浮点数,M指定长度,D指定小数点 位数,会发生精度丢失 | 4字节 |
DOUBLE(M,D) | 双精度浮点数,M,D含义如上 | 8字节 |
DECIMAL(M,D) | M范围是1到65,D范围是0到30,M默认为10,D默认为0,D不大于M,小数位不足自动补0,首位数字为0自动忽略(精度高) | 取决于M和D的值 |
2.日期型
数据类型 | 格式 | 所占存储空间 | 用途 |
DATE | YYYY-MM-DD | 3 | 年月日说明 |
TIME | HH:MM:SS | 3 | 小时间说明 |
YEAR | YYYY | 1 | 年份说明 |
DATETIME | YYYY-MM-DD HH-MM–SS | 8 | 具体年月日以及时间 |
TIMESTAMP | 同DATETIME(不建议使用,至2038年后用尽) | 4 | 具体年月日以及时间 |
3.字符串类型
数据类型 | 说明 | 大小 |
VARCHAR(SIZE) | 可变长度字符串,需要指定字符集(默认为 Latin1 字符集) | 0~65535字节 |
TEXT | 长文本数据 | 0-65535字节 |
MEDIUMTEXT | 中等长度文本数据 | 0-1677215字节 |
BLOB | 二进制形式的长文本数据 | 0-65535字节 |
二.数据库操作
1.创建一个数据库
语法:create database 库名
例如:创建一个库名为 test1117 的数据库: create database test117;
在控制命令窗口中输入如下sql控制命令:
出现Query OK即为创建成功,后面的 1 row affected 即为一行受到影响(详情见后文),最后的(0.00 sec) 表示执行该sql语句的大致反应时间.
2.查看数据库
查看目前MySQL中一共有多少个数据库
语法: show databases;
需要注意的是:红色圈中的数据库,均为MySQL自带数据库,蓝绿色圈中的为我们自建的数据库.系统自带的数据库禁止随意操作,操作不当容易让MySQL挂了
3.使用数据库
语法: use 库名
当你有多个库时,想对某个库进行操作时,必须先使用该库(可以理解为操作对象),使用该数据库后,后续的操作在不进行更换数据库的使用时,均在当前数据库下进行操作.
4.删除数据库(慎重)
删除MySQL中不需要的数据库
语法: drop database 库名
删表需要十分谨慎!!!
系统自带的表禁止随意删除,会让MySQL挂掉,而我们自带的数据库也要谨慎删除,尤其是在未来工作中
三.表操作
1.创建一张表
当前操作的数据库为上文中的test1117数据库
语法: create table 表名 (field1 datatype, 字段2 数据类型, filed3 datatype…)
例如:创建一张学生表,表中包含学生姓名,学号;
2.查看表结构
查看当前学生表的表结构
语法: desc student
解释说明:
Field: 字段 -- 对表中的内容说明,例如学生表中的 name, id Type: 类型 -- 表中内容的类型,例如 name的类型为varchar(20) NuLL: 是否允许为空 Key: 索引类型 -- primary key() 即主键 和 foreign key() 即外键 Default: 默认值 -- 表中内容的类型进行申明时可以选择加上默认值,当该内容不进行赋值时为默认值 Extra: 扩充
3.查看所有表
查看当前库下所有表
语法: show tables;
一定是在某个具体的库下查看某个库中所有表的数量
4.删除表
删除库中不需要的表
语法: drop table 表名
由于当前我们java1117这个库下只有student一张表,因此删除完后在去查看Java11117库下所有表则为空!
空时, 表依然还存在, 此时为空表!