目录
1. 数据库的操作(库和表的操作)
前置知识
- SQL语句的注意事项
(1)sql语句不区分大小写;
(2)每一条sql语句都是默认以英文;符号作为结尾;
(3)在sql语句中,库名称和表名称,应尽量避免使用关键字,比如create,desc …;
(4)库的和表以及字段的名字不能是纯数字;
(5)sql语句中不区分单引号和双引号。
1.1 库的操作
1. 创建库
creat database db_y;
creat database if not exits db_y;//用的比较多
2. 查看库
show databases; //查看mysql所管理的所有的库
select database(); // 查看当前所操作的库
3. 选择所操作的库
use db_y
4. 删除库
drop database db_y;
1.2 表的操作
表中的数据是以行列关系模型组织的,一行数据就是一条信息,列就是对应的字段。
1.2.1 数据类型:
- 数值类型
分为整型和浮点型:
数据类型 | 大小 | 说明 | 对应java类型 | 对应 C类型 |
---|---|---|---|---|
BIT[ (M) ] | M指定位数,默认为1 | 二进制数,M范围从1到64,存储数值范围从0到2^M-1 | 常用Boolean对应BIT,此时默认是1位,即只能存0和1 | char[] |
TINYINT | 1字节 | Byte | signed char | |
SMALLINT | 2字节 | Short | short int | |
INT | 4字节 | Integer | int | |
BIGINT | 8字节 | Long | long、long、int | |
FLOAT(M, D) | 4字节 | 单精度,M指定长度,D指定小数位数。会发生精度丢失 | Float | float |
DOUBLE(M,D) | 8字节 | Double | double | |
DECIMAL(M,D) | M/D最大值+2 | 双精度,M指定长度,D表示小数点位数。精确数值 | BigDecimal | char[] |
NUMERIC(M,D) | M/D最大值+2 | 和DECIMAL一样 | BigDecimal | char[] |
- 字符串类型
数据类型 | 大小 | 说明 | 对应java类型 | 对应 C 类型 |
---|---|---|---|---|
CHAR(L) | L表示字符个数 | String | char[] | |
VARCHAR (SIZE) | 0-65,535字节 | 可变长度字符串 | String | char[] |
TEXT | 0-65,535字节 | 长文本数据 | String | char[] |
MEDIUMTEXT | 0-16777215字节 | 中等长度文本数据 | String | char[] |
BLOB | 0-65,535字节 | 二进制形式的长文本数据 | byte[] | char[] |
- 日期类型
数据类型 | 大小 | 说明 | 对应Java类型 | 对应C类型 |
---|---|---|---|---|
DATETIME | 8字节 | 范围从1000到9999年,不会进行时区的检索及转换。 | 范围从1000到9999年,不会进行时区的检索及转换。 | MYSQL_TIME |
TIMESTAMP | 4字节 | 范围从1970到2038年,自动检索当前时区并进行转换。 | java.util.Date、java.sql.Timestamp | MYSQL_TIME |
1.2.2 表的操作
1. 创建表
create table stu_ tb( sn int, name varchar(32), birth datetime, ch decimal(4, 2), math decimal(4, 2), en decimal(4, 2));
create table if not exists stu_tb(sn int, name varchar(32), birth datetime, ch decimal(4, 2), math decimal(4, 2), en decimal(4, 2));
2. 查看表
show tables; //查看当前库中所有的表
desc stu_tb; //查看表结构
3. 删除表
drop table stu_tb;
4. 修改表结构
alter table stu_ tb modify sn int primary key;
alter table stu_ tb add age int;
alter table stu_ tb drop age; .
1.3 课后练习
设计一张商品表,包含以下字段:商品名称、商品价格、商品库存、商品描述