语句实例
show databases;
结果演示
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| chong |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.01 sec)
除了"chong"是本人自己学习的时候建的数据库,其余四个是自带的数据库,切记不可误删掉这四个
语句实例
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
说明:
语句实例
CREATE DATABASE chong;
说明: 当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_general_ci
CREATE DATABASE IF NOT EXISTS db_test2;
CREATE DATABASE IF NOT EXISTS db_test CHARACTER SET utf8mb4;
说明: MySQL的utf8编码不是真正的utf8,没有包含某些复杂的中文字符。MySQL真正的utf8是使用utf8mb4,建议大家都使用utf8mb4
语句实例
use 数据库名;
结果演示
mysql> use study;
Database changed
语法:
DROP DATABASE [IF EXISTS] db_name;
说明: 数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除
语句实例
drop database if exists study;
结果演示
mysql> drop database if exists study;
Query OK, 0 rows affected (0.04 sec)
大家切记以后做删除操作的时候手下留情!再三确认之后再进行删除,不然删除掉一些关键数据库后只能准备好跑路了(滑稽)
分为整型和浮点型:
数据类型 | 大小 | 说明 | 对应java类型 |
---|---|---|---|
bit[(m)] | m指定位数,默认为1 | 二进制数,m范围从1到64,存储数值范围从0到2^m-1 | 常用Boolean类型对应bit,此时默认是一位,只能保存1和0 |
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 |
说明:
经常用到的如表格中的黑体标记了,其余的了解会用就行
数据类型 | 大小 | 说明 | 对应java类型 |
---|---|---|---|
varchar(size) | 0-65535字节 | 可变长度字符串 | String |
text | 0-65535字节 | 长文本数据 | String |
mediumtext | 0-16777215字节 | 中等长度文本数据 | String |
blob | 0-65535字节 | 二进制形式的长文本数据 | byte[] |
数据类型 | 大小 | 说明 | 对应java类型 |
---|---|---|---|
datetime | 8字节 | 范围从1000到9999年,不会进行时区的检索及转换 | java.util.Date,java.sql.Timestamp |
timestamp | 4字节 | 范围从1970到2038年,自动检索当前时区并进行转换 | java.util.Date,java.sql.Timestamp |
上述两种类型看情况使用,一般情况下使用timestam较多
需要操作数据库的表时,需要先使用该数据库:
use study;
desc 表名
语法:
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
);
语句实例
create table student (
id int,
name varchar(20),
age int,
qq_mail varchar(20)
);
上面的语句我们可以通过comment增加字段说明
语句实例
create table student (
id int,
name varchar(20) comment '姓名',
age int comment '年龄',
qq_mail varchar(20) comment '邮箱'
);
语法格式:
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
语句实例
-- 删除 student 表
drop table student;
-- 如果存在 student 表,则删除 student 表
drop table if exists student;
注意: 我们现在已经知道了表的创建和删除语法了,那么今后在创建表的时候我们就可以这样写了
语句实例
drop table if exists student;
create table student (
id int,
name varchar(20),
age int,
qq_mail varchar(20)
);
这样先进行删除再创建可以有效的减少错误,当然其他方式也是可以的,这里就不一一列举,只要能得到想要的结果就行了
-- 显示
show databases;
-- 创建
drop database if exists xxx;
create database xxx;
-- 使用
use xxx;
-- 删除
drop database xxx;
int:整型
decimal(m,d):浮点型
varchar(size):字符型
timestamp:日期类型
-- 查看
show 表;
-- 创建
drop table if exists 表名;
create table 表名(
字段1 类型1,
字段2 类型2,
...
);
-- 删除
drop talbe 表名;