1. 数据库操作
sql语法中没有大小写之分.sql语句是以;
[分号为结束标志]
1.创建数据库
语法:
create database 数据库名 ;
注释:
-
create database
表示关键字,[创建数据库] -
不能重复创建同一名称的数据库,可以在
create database
后加if not exists 数据库名;
表示如果存在此数据库,则不创建,不存在,则创建.
2.使用数据库
语法:
use 数据库名;
- use 是使用数据库的关键字;
3.显示当前已有的数据库:
语法:
show databases;
- 注意: databases ,是复数,最后加了一个
s
. - show databases 是显示数据库关键字.
- 显示的有mysql自带的一些数据库,这些最好别删除.
4.删除数据库
语法:
drop database 数据库名;
- drop database 是删除数据库的关键字.
- 删除数据库是很危险的操作,要谨而慎行,建议不要删除自带的一些数据库.
2. 常用数据类型
整型和浮点型:
数据类型 | 大小(字节/bytes) | 说明 | 对应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字节(byte) = 8bit
-
对于整型范围:
- 有符号范围:-2 ^( 类型字节数 * 8-1)到2^ (类型字节数 * 8-1)-1,如int是4字节,就
是-231到 2^31 -1;
- 无符号范围:0到2^ (类型字节数*8)-1,如int就是2^32-1;
-
尽量不适用unsigned,对于类型可能存放不下的数据,int unsigned 也可能存不下,与其如此,倒不如直接提升为bigint类型;
字符串类型:
数据类型 | 大小(字节/byte) | 说明 | 对应java类型 |
---|---|---|---|
varchar(size) | 0-65,535 | 可变长度字符串 | String |
text | 0-65,535 | 长文本数据 | String |
mediumtext | 0-16 777 215 | 中等长度文本数据 | String |
blob | 0-65,535 | 二进制形式的长文本数据 | Byte[] |
- 如果给数据库设置的字符集是utf8,varchar 可以存放中文字符等.
- varchar(size),可以指定长度.如varchar(50);
日期类型:
数据类型 | 大小(字节/byte) | 说明 | 对应java类型 |
---|---|---|---|
datetime | 8 | 范围从1000到9999年,不会进行时区的检索及转换 | java.util.Date、java.sql.Timestamp |
timestamp | 4 | 范围从1970到2038年,会自动检索当前时区并进行转换. | java.util.Date、java.sql.Timestamp |
- 一般用timestamp;
3. 表的操作
创建表
操作表前,需要先使用指定的数据库: use 库名;
语法:
create table 表名 (字段1 类型1,字段2 类型2,....);
- create table 是创建表的关键字
- 表名后加个小括号,里面 先是名字 再是对应的数据类型,如 name varchar(50);表示name的类型是varchar.
- 可以使用
comment
增加字段说明[相当于注释]
查看表结构
语法:
desc 表名;
- desc 是查看表结构的关键字;
- 查看表结构和查看数据库,两者使用的关键字不一样,注意区分.
查看该数据库内所有表:
语法:
show tables;
- 注意:tables 是复数,table后面加了
s
;
删除表
语法:
drop table 表名;
-- 判断:如果存在 该表,则删除
drop table if exists 表名;
- 删除表是及其危险的操作,不可逆,谨慎操作.
重点内容总结:
操作数据库:
--显示
show databases;
--创建
create database 库名;
--使用
use 库名;
--删除
drop database 库名;
数据类型:
-- 整型
int;
--浮点数类型
decimal(M,D); - > decima(3,2);
--字符串类型
varchar(size); - > varchar(50);
-- 日期类型
timestamp;
操作表:
--查看
show tables;
--查看表结构
desc 表名;
--创建
create table 表名 (字段1,类型1,字段2,类型2,......);
--删除
drop table 表名;