表
1. 表的创建
-
建表的语法格式:属于DDL,DDL包括:create,drop,alter create table 表名(
字段名1 数据类型,
字段名2 数据类型
);
表名:建议以 t_ 或者 tbl_ 开始,可读性强 -
mysql中的常用数据类型 varchar 可变长度字符串,会动态分配空间(最长255) char 定长字符串,分配固定长度空间存储数据(最长255) int 数字中的整数型(最长11位) bigint 数字中的长整型 等同于long float 单精度浮点型 double 双精度浮点型 date 短日期类型 datetime 长日期类型 clob 字符大对象,最多可以存储4G的字符串 blob 二机制大对象,专门用来存储图片,声音,视频等流媒体数据 -
创建一个学生表 学号、姓名、性别、年龄、邮箱地址 create ta(
no int,
name varchar(32),
sex char(1) default 'man',
age int(3),
email varchar(255)
);
2. 表的删除
drop table 表名; // 当这张表不存在会报错
drop table if exists t_student; // 如果存在就删除
3. insert 语句
3.1 插入
DML语句
insert into 表名(字段名1,字段名2,字段名3...) values(值1,值2,值3...);
注意:字段名和值要一一对应。数量和数据类型要对应。
? 字段没有给定值,默认null
? 字段名可以省略,省略等于值都写上
insert into
t_student(no,name,sex,age,email)
values
(1,'zhangsan',' man',18,'zhangsan@163.com');
3.2 insert插入日期
str_to_date:字符串varchar类型转换成date类型
date_format:date类型转换成具有一定格式的varchar类型
data_format(日期类型数据,‘日期格式’)
? 通常使用在查询日期
mysql 日期格式:
%Y 年,%m月,%d日,%h时,%i分,%s秒
create table t_user(
id int ,
name varchar(32),
birth char(10)
);
insert into
t_user(id,name,birth)
values
(1,'zhangsan',str_to_date('01-10-1999','%d-%m-%Y'));
select id,name,date_format(birth,'%m/%d/%Y') as birth from t_user;
3.3 date和datetime区别
date:短日期,只包括年月日信息,默认格式:%Y-%m-%d
datetime:长日期,包括年月日时分秒信息,默认格式:%Y-%m-%d %h:%i:%s
3.4 insert插入多条记录
insert into
t_student(no,name,sex,age,email)
values(
(1,'zhangsan',' man',18,'zhangsan@163.com'),
(2,'lisi',' man',18,'lisi@163.com')
);
4. update语句
语法格式:
update 表名 set 字段名1=值1,字段名2=值2... where 条件;
注意:没有条件限制会导致所有数据全部被更新
update t_user set name = 'Jack',birth = '2000-10-11' where id = 2;
5. delete语句
语法格式:
delete from 表名 where 条件;
注意:没有条件,整张表的数据会被全部删除
delete from t_user where id = 2;
6. 表是怎么进行连接的
加条件只是为了避免笛卡尔积现象,只是为了查询出有效的组合记录。
匹配的次数一次都没有少。
7. 快速复制表
原理:将一个查询结果当做一张表新建!创建表,里面的数据也会存在
create table emp2 as select * from emp;
8. 将查询结果插入到一张表中
create table dept_bak as select * from dept;
insert into dept_bak select * from dept;
9. 快速删除表中的数据
delete属于DML语句
delete from dept_bak;
delete 删除数据的原理:表中的数据被删除了,但是这个数据在硬盘上的真实的存储空间不会被释放。
这种删除缺点是:删除效率比较低。优点是:支持回滚,可以恢复数据。
快速删除 truncate 语句:属于DDL语句
原理:物理删除,效率高,表被一次截断。
缺点:不支持回滚。优点:效率高
truncate table dept_bak;
|