SQL语句之表的创建和使用

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

一、表的创建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中的数据类型

1varchar(最长255)
可变长度的字符串会根据实际的数据长度动态分配空间节省空间。varchar(10)10表示最大可分配空间会根据传过来的数据动态分配。
优点节省空间
缺点需要动态分配空间速度慢
2char(最长255)
定长字符串不管实际的数据长度是多少分配固定长度的空间去存储数据使用不恰当时可能会导致空间的浪费
优点不需要动态分配空间速度快
缺点使用不当时会导致空间浪费
3int(最长11)
数字中的整数型等同于java的int
4bigint
数字中的长整型等同于javal中的long
5float
单精度浮点型数据
6double
双精度浮点型数据
7date
短日期类型
8datetime
长日期类型
9clob
字符大对象最多可以存储4G的字符串超过255个字符的都要采用 clob 来存储
10blob
二进制大对象专门用来存储图片、声音、视频等流媒体数据。往 blob 类型的字段上插入数据时需要使用IO流。

3.删除表

1drop table 表名;当这张表不存在时会报错
2drop table if exists 表名;如果这张表存在就删除建议使用

二、在表中插入数据insertDML

1.insert

1insert 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’);

3insert语句但凡执行成功后必然会增加一条记录没有给其他字段指定值的话默认值是NULL

在这里插入图片描述

4在创建表时可以用 default 给添加默认值如下
create table t_student(sex char(1) default ‘m’);

5insert语句中如果字段名要省略的话要把所有的值都写上
insert into t_student values(2003,‘tom’,‘m’,123456,‘123453@qq.com’)

2.insert插入日期

1str_to_date将字符串 varchar 类型转换成日期 date 类型在 insert 中使用。
str_to_date(‘字符串日期’‘日期格式’)
2date_formatdate 类型转换成具有一定格式的 varchar 字符串类型在 select 中使用。
date_format(日期类型数据‘需要展示的格式’)
3mysql日期格式
%Y 年%m 月%d 日%h 时%i 分%s 秒
4如果提供的日期字符串是 ‘%Y-%m-%d’ 这个格式str_to_date 函数就不需要了

3.date和datetime区别

1date是短时期只包括年月日默认格式是%Y-%m-d
2datetime是长日期包括年月日时分秒,默认格式是%Y-%m-d %h:%i:%s
3now(),获取系统的当前时间年月日时分秒

三、修改(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;

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6