本篇均以Linux下的MySQL进行操作。
数据库的操作
1.显示当前的数据库
show databases;
这是显示数据库中的所有的数据库,使用结果:
2.创建一个数据库
创建语法为:create database if not exists database_name;
其中:
- if not exists :可以写也可以不写,它的使用就是检查是否写重表了,如果不加if not exists,那么如果创建的表已经存在,那么就会创建失败,如果加了,那么就不会报错,但也不会创建新的表。
- database_name:自己设置的表名。
例如:我创建一个db_student的表,如下:
3.使用数据库:
语法:use database_name
其中,database_name为要使用的数据库的名字。
例如,我们要使用的是我们数据库中的mysql数据库,则操作如下:
使用成功后,none,就会变为mysql,这样就使用成功了。
4.删除数据库
语法:drop databases if exists database_name;
其中:
- if exists:与if not exists使用方法相类似,它是如果存在则删除,如果不存在,也不会报错,但是如果不加,那么如果存在就删除,如果不存在,那么就报错。
- database_name:要删除的数据库名称。
例如,我们删除我们上面创建的db_student这个表:
注意:删掉数据库后,里面所有内容(包括表)都被删除。(删除需谨慎)
常用的数据类型
1.数值类型:
其中表如下:
数据类型 | 大小 | 说明 | 对应java类型 | 对应c类型 |
---|---|---|---|---|
bit(m) | m表示位数,默认为1 | 对应m个比特位的大小 | BIT,此时默认是1位,只能存0,1 | char[] |
tinyint | 1个字节 | BYTE | char | |
smallint | 2个字节 | Short | short int | |
int | 4个字节 | Integer | int | |
bigtint | 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 | 同上 | BigDecimal | char[] |
2.字符串类型:
数据类型 | 大小 | 说明 | 对应java类型 | 对应c类型 |
---|---|---|---|---|
varchar (size) | 0到size个字节,最大为65535字节 | 可变长度字符串 | String | char[] |
text | 0到65535个字节 | 长文本数据 | String | char[] |
mediumtext | 0到16 777 215字节 | 中等长度文本数据 | String | char[] |
blob | 0到65535个字节 | 二进制形式的长度文本数据 | byte[] | char[] |
3.日期类型:
数据类型 | 大小 | 说明 | 对应java类型 | 对应c类型 |
---|---|---|---|---|
datetime | 8字节 | 范围从1000到9999年,不会进行时区的检索及转换 。 | java.util.Date、java.sql.Timestamp | myqsl_time |
timestamp | 4字节 | 范围从1970到2038年,自动检索当前时区并进行转换。 | java.util.Date、java.sql.Timestamp | myqsl_time |
表的操作
操作数据库中的表的时候,首先我们得使用数据库:
我们先使用mysql数据库:use mysql;
1.查看表:
语法:desc table_name;
其中:table_name为表名。
例如,我们查看一个books的表:
2.创建表:
语法:create table table_name(field1 datatype,field2 datatype,field3 datatype)
其中:
- table_name:自己要设置的表名称。
- field1 datatype:自己要设置的表的成员,其中field1为成员的名称,datatype为成员的数据类型。(field2 datatype和field3 datatype也是如此,用逗号间隔)
例如,我们创建一个学生表,如下:
3.删除表:
语法:drop table table_name;
其中:
table_name为要删除的表名。
例如,我们删除上面所创建的student表:
删除后,再次查找的时候,就不见表了。
其中创建和删除的时候也可以加if not exists和if exists。