目录
1、表的创建及数据类型
-
执行顺序:
from where group by having select order by limit
1.1、表的创建(建表DDL)
建表的语法格式(建表属于DDL语句,DDL包括:create drop alter):
create table 表名 (字段名1 数据类型 ,字段名2 数据类型, 字段名3 数据类型);
表名:建议以t_或者tbl_开始,可读性强。
字段名:见名知意
表名和字段名都属于标识符
1.2、关于mysql中的数据类型
varchar(最长255) 可变长度的字符串(比较智能,节省空间会根据实际的数据长度动态的分配空间)
char(最长255) 定长字符串(不管实际数据长度多少,分配固定的长度空间存储数据,使用不恰当的时候,可能会导致空间的浪费)
varchar和char我们应该怎么选择?
性别字段选char,姓名选varchar
int(最长11) 数字中的整数型,等同于Java中的long。
float 单精度浮点型
double 双精度浮点数据
data 短日期类型
datetime 长日期类型
clob 字符大对象 最多存储4G的字符串 比如:存储一篇文章,存储一个说明。 超过255的字符的用clob字符大对象 Character Large OBject:CLOB
blob 二进制大对象 Binary Large OBject 专门用来存储图片、声音、视屏等流媒体数据。往BLOB类型字段上插入数据时候,例如插入一个图片、视屏等,需要使用IO流、
1.3 、拟表
t_movie 电影表“”(专门用来存储电影信息)
编号 名字 描述信息 上映日期 时长 海报
no(bigint)name(varchar)history(clob)playtime(data)time(double)
10000 哪吒 ... ... ...
1.4 、创建学生表
学号、姓名、年龄、性别、邮箱地址
create table t_student(
no int,
name varchar(32),
sex char(1),
age int(3),
email varchar(255)
);
删除表
//这张表不存在的时候会报错!
drop tabl t_student;
//如果这张表存在的话,删除
drop table if exists t_student;
1.5、插入数据inset(DML)
语法格式insert into 表名(字段名,字段名2,字段名3…) values(值1,值2,值3…)
- 注意字段名和值要一一对应: 数量要对应,数据类型要对应。
insert into t_student(no,name,sex,age,email) values(2,'zhangsan','m',20,'zhangsan@31.com');
insert语句中的’字段名’可以省略
-
注意前面的字段名省略相当于都写上!
insert into t_student values(3,'list','f',20,'lisi@23.com'); +------+----------+------+------+-----------------+ | no | name | sex | age | email | +------+----------+------+------+-----------------+ | 2 | zhangsan | m | 20 | zhangsan@31.com | | 3 | list | f | 20 | lisi@23.com | +------+----------+------+------+-----------------+
注意:数据库中有一条命名规范:所有标识符都是小写,单词单词之间使用下划线进行衔接。
删除表:
drop table if exists t_user;//如果有删除掉
日期格式和转换:
mysql日期格式:
%y 年
%m 月
%d 日
%h 时
%i 分
%s 秒
Java的日期格式:yyyy-MM-dd HH:mm:ss sss
-
str to_data转换日期类型
-
date——format(日期类型数据,‘日期格式’)
这个函数通常使用在查询日期方面,设置展示的日期格式
1.6、datetime和data
date 短日期%Y-%m-%d
datetime 长日期%Y-%m-%d %h:%i:%s
- 在MySQL中now()函数能够插入当前时间
insert into t_student(id,name,birth,create_time)values(2,'lisi',now());
1.7、修改update(DML)
-
update 表名 set 字段名1=值1 ,字段名2=值2… where 条件
-
delete from 表名 where 条件(delete from 表名 //删除所有)
1.8、修改列的数据类型或名称
-
alter table 表名 change column 字段名 数据
1.9、修改或删除表中制定列的默认值
-
alter table 表名 alter column 字段名 set default 数据
modify 只会修改指定类的数据类型:
-
alter table 表名 modify column 字段名 ,数据类型 frtst|after(指定在表中的位置)