表
一、表的创建(DDL)
1.建表的语法格式
create table 表名(字段名1 数据类型,字段名2 数据类型,字段名3 数据类型);
表名建议以 t_ 开始,可读性强
创建一个学生表
包括学号、姓名、年龄、性别、手机号码、邮箱地址
create table t_student(
num int(13),
name varchar(255),
age int(3),
sex char(1),
phonenumber char(11),
email varchar(255)
);
2.mysql中的数据类型
(1)varchar(最长255)
可变长度的字符串,会根据实际的数据长度动态分配空间,节省空间。varchar(10),10表示最大可分配空间,会根据传过来的数据动态分配。
优点:节省空间
缺点:需要动态分配空间,速度慢
(2)char(最长255)
定长字符串,不管实际的数据长度是多少,分配固定长度的空间去存储数据,使用不恰当时,可能会导致空间的浪费
优点:不需要动态分配空间,速度快
缺点:使用不当时会导致空间浪费
(3)int(最长11)
数字中的整数型,等同于java的int
(4)bigint
数字中的长整型,等同于javal中的long
(5)float
单精度浮点型数据
(6)double
双精度浮点型数据
(7)date
短日期类型
(8)datetime
长日期类型
(9)clob
字符大对象,最多可以存储4G的字符串,超过255个字符的都要采用 clob 来存储
(10)blob
二进制大对象,专门用来存储图片、声音、视频等流媒体数据。往 blob 类型的字段上插入数据时,需要使用IO流。
3.删除表
(1)**drop table 表名;,当这张表不存在时会报错
(2)drop table if exists 表名;**,如果这张表存在,就删除,建议使用
二、在表中插入数据insert(DML)
1.insert
(1)insert into 表名(字段名1,字段名2,字段名3…) values(值1,值2,值3…);,
字段名和值要一一对应(数量和数据类型)
(2)向学生表中插入数据
insert into t_student(num,name,age,sex,phonenumber,email) values(1001,‘jack’,21,‘m’,‘12312343234’,‘123456@qq.com’);
(3)insert语句但凡执行成功后必然会增加一条记录,没有给其他字段指定值的话,默认值是NULL
(4)在创建表时,可以用 default 给添加默认值,如下:
create table t_student(sex char(1) default ‘m’);
(5)insert语句中如果字段名要省略的话,要把所有的值都写上
insert into t_student values(2003,‘tom’,‘m’,123456,‘123453@qq.com’);
2.insert插入日期
(1)str_to_date:将字符串 varchar 类型转换成日期 date 类型,在 insert 中使用。
str_to_date(‘字符串日期’,‘日期格式’)
(2)date_format:将 date 类型转换成具有一定格式的 varchar 字符串类型,在 select 中使用。
date_format(日期类型数据,‘需要展示的格式’)
(3)mysql日期格式
%Y 年,%m 月,%d 日,%h 时,%i 分,%s 秒
(4)如果提供的日期字符串是 ‘%Y-%m-%d’ 这个格式,str_to_date 函数就不需要了
3.date和datetime区别
(1)date是短时期:只包括年月日,默认格式是:%Y-%m-d
(2)datetime是长日期:包括年月日时分秒,默认格式是:%Y-%m-d %h:%i:%s
(3)now(),获取系统的当前时间,年月日时分秒
三、修改(update)DML
1.语法格式
**update 表名 set 字段名1=值1,字段名2=值2,字段名3=值3…where 条件;**,注意:没有条件限制的话会导致所有的数据全部更新。
update t_student set name=‘tom’,age=22,sex=‘f’ where num=1002;
四、删除数据(delete)DML
1.语法格式
**delete from 表名 where 条件;**,没有条件的话,整张表都会被删除
delete from t_user where id=1;
版权归原作者 旧巷689 所有, 如有侵权,请联系我们删除。