MySQL_表

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(指定在表中的位置)
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值