SQL语法:
- 数据库
- 创建数据库
create database【数据库名】 - 查看数据库
show databases - 选中数据库
use 【数据库名】
- 表
- 创建数据表
create table - 查看表
show tables - 查看表结构
desc【表名】 - 删除表
drop table【表名】
- 增删改查
- 插入
insert into【表名】【列名】 values(具体的值),(具体是) - 查找
select 【列名/表达式/指定别名/】from[表名] where [筛选条件] order by [列]limit [N] - 修改
update 【表名】set 字段 = value,字段 = value; - 删除
delete from 【表名】 where【筛选条件】
数据库的列类型
数值
列类型 | 大小 |
---|---|
tinyint | 1个字节 |
smallint | 2个字节 |
mediumint | 3个字节 |
int | 4个字节较为常用 |
bigint | 8个字节 |
float | 浮点数4个字节 |
double | 浮点数 8个字节 |
decimal | 字符串形式的浮点数 |
字符串
列类型 | 大小 | 用途 |
---|---|---|
char | 0~255 | |
varchar | 可变字符串 0~65535 | 常用的变量String |
tinytext | 微型文本 2^8-1 | |
text | 2^16-1 | 保存大文本 |
时间日期
java.util.Date
列类型 | 格式 |
---|---|
date | YYYY-MM-DD,日期格式 |
time | HH:mm:ss ,时间格式 |
datetime | YYYY-MM-DD HH:mm:ss 最常见的时间格式 |
timestamp | 时间戳,表明1970.1.1到现在的毫秒数 |
year | 表示年份 |
null
没有值,未知
不能是用NULL进行计算,结果依旧为NULL
数据库的字段属性
Unsigned :
无符号整数,声明了该列不能为负数.
zerofill
不足的位数,使用0来填充,int(3) 5 = 005
自增
自动在上一条记录的基础上+1
通常用来设计唯一的主键(必须为整数)之类.
可以自己设定自动增量
非空 not null
如果设置了这个选项,在创建的时候没有赋值就会报错.
如果没有勾选的话,并且没有赋值,默认会设置为null值
创建表的注意事项:
表的名称或者字段 尽量使用 `` table上面的裹起来,防止和关键字重名导致错误
CREATE TABLE IF NOT EXISTS `student`(
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR (30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
`sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性别',
`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
`address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
`email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (`id`)
)ENGINE INNODB DEFAULT CHARSET=utf8 COMMENT `注释`
格式:
CREATE TABLE [IF NOT EXISTS] ` 表名`(
`字段名` 列类型 [属性] [索引] [注释],
`字段名` 列类型 [属性] [索引] [注释],
`字段名` 列类型 [属性] [索引] [注释]
)[表类型][字符集设置][注释]
DEFAULT 默认值
COMMENT 注释
DDL : 数据库和表的操作语句
操作数据库
1. 创建数据库
创建一个数据库
create database 数据库名称
判断是否存在指定名称的数据库 如果没有 创建一个
create database if not exists 数据库名称
判断是否存在指定名称的数据库 如果没有 ,创建一个指定字符集的数据库
create database if not exists 数据库名称 character set 字符集名称
2. 查询数据库
查询所有数据库名称
show databases;
查询某个数据库的创建语句和字符集
show