MySQL数据库基础
数据库的命令可以大写也可以小写
1. 数据库的操作
1.1 显示当前的数据库
命令:show databases;//后面符号要注意,是英文的
1.2 创建数据库
命令:create daatabases 数据库名;
创建数据库是判断是否有该数据库
如果有则不创建,保持原来的数据库
命令:create database if not exists 数据库名;
比如说:
指定数据库采用的字符集
命令:create database 数据库名 character set utf8;//创建时指定
系统使用默认字符集: utf8 ,
也可以上面两个合起来一起使用
命令:create database if not exists 数据库名 character set utf8;
1.3 使用数据库
命令:use 数据库名;
1.4 删除数据库
命令:drop database 数据库名;
数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除。
总结:
2. 常用数据类型
2.1 数值类型
分为整型和浮点型:
数据类型 | 大小 | 说明 | 对应java类型 |
BIT[ (M) ] | M 指定位 数,默认 为 1 | 二进制数, M 范围从 1 到 64 , 存储数值范围从 0 到 2^M-1 | 常用 Boolean 对应 BIT ,此时 默认是 1 位,即只能存 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 | 和 DECIMAL 一样 | BigDecimal |
标记红色的是常用的;
扩展资料
数值类型可以指定为无符号(unsigned),表示不取负数。//不推荐使用
1 字节( bytes ) = 8bit 。
对于整型类型的范围:1. 有符号范围: -2^ (类型字节数 *8-1 )到 2^ (类型字节数 *8-1 ) -1 ,如 int 是 4 字节,就是-2^31 到 2^31-12. 无符号范围: 0 到 2^ (类型字节数 *8 ) -1 ,如 int 就是 2^32-1
尽量不使用 unsigned ,对于 int 类型可能存放不下的数据, int unsigned 同样可能存放不下,与其
如此,还不如设计时,将 int 类型提升为 bigint 类型。
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(datetime) | 8 字 节 | 范围从 1000 到 9999 年,不会进行时区的 检索及转换。 | java.util.Date 、 java.sql.Timestamp |
TIMESTAMP(timestmp) | 4 字 节 | 范围从 1970 到 2038 年,自动检索当前时 区并进行转换。 | java.util.Date 、 java.sql.Timestamp |
使用的话就使用第一个,第二个不推荐。
3. 表的操作
需要操作数据库中的表时,需要先使用该数据库:
命令:use 数据库名;
3.1 查看数据库表
命令:slow tables;
表是空的。
那我们来创建表
3.2 创建表
命令:create table 表名;
比如说;创建一个期末成绩表,有数学成绩,id,名字(三个列);
注意:
拓展:
3.4删除表
命令:drop table 表名;
如果存在 stu_test 表,则删除 stu_test 表
命令:drop table if exists 表名;
3.5查看表的结构
命令:desc 表名;
重点掌握:
常用数据类型:
INT :整型DECIMAL(M, D) :浮点数类型VARCHAR(SIZE) :字符串类型TIMESTAMP :日期类型