表操作
表的创建 ( create )
create table 表名 ( 字段1 数据类型,字段2 数据类型 … ) ;
例:create table table_1 ( id int , name char ( 5 ) ) ;
以查询结果建表
create table 表名 as select … ;
删除表 ( drop )
drop table 表名 ;( 如果表不存在,则会报错 );
drop table if exits 表名 ;( 如果该表存在的话,将它删除 , 可以防止报错)
表结构操作 ( alter )
删除表中字段
alter table 表名 drop ( column 可写可不写 ) 字段 ;
如果表中只有一个字段时使用,则会报错
添加表中字段
alter table 表名 add 字段1 数据类型 , 字段2 数据类型 … ;
也可以加上 default 改变默认值
默认插在末尾,如果要指定位置,在数据类型后补上关键字 first( 设定位第一列 ), after 字段名(设定位于某个字段之后)
修改表中字段名字
alter table 表名 change 旧字段名 新字段名 数据类型 ;
修改表中字段属性
alter table 表名 modify 字段名 数据类型
修改表名
alter table 旧表名 rename 新表名
数据操作
插入数据 ( insert )
- insert into 表名 ( 字段1 , 字段2 … ) values ( 值1 , 值2 … ) ;
字段的顺序任意,但字段和值必须一一对应( 数据类型和数量相同 ),如果只给了部分值,则其他值 为默认值 - insert into 表名 values ( 值1 , 值2 … ) ;
如果省略了字段名,则默认按照顺序全部写上了
一次插入多条数据
insert into 表名 ( 字段1 , 字段2 … ) values ( 值1 , 值2 … ) , ( 值1 , 值2 … ) , ( 值1 , 值2 … ) …;
插入查询结果
insert into 表名 select … ;
插入 date 型数据( str_to_date() )
当要插入 date 类型数据时,我们需要先把字符串转换为 date 类型,用 str_to_date 函数进行类型转换
- str_to_date ( ’ 字符串 ’ , ’ 日期格式 ’ )
例:str_to_date ( ’ 15 - 11 - 2021 ’ , ’ %d - %m - %Y ’ ) ; - str_to_date ( ’ 字符串 ’ )
这一种默认日期格式为 ’ %Y - %m - %d ’
datetime 一样,只是默认格式不同 ( %Y - %m - %d %H : %i : %s )
获取当前时间 ( now() )
可用 now() 获取当前时间,datetime 类型
修改数据 ( update )
update 表名 set 字段1 : 值1 , 字段2 : 值2 … where 条件 ;
将符合条件的数据,修改指定字段的值
( 如果没有 where 的限制,则会修改所有数据 )
删除数据 ( delete )
delete from 表名 where 条件 ;
将符合条件的数据删除
( 如果没有 where 的限制,则会删除所有数据 )
快速删除表中数据 ( truncate )
truncate table 表名 ;
只能删除表中全部的数据
和 delete 的区别(有些不理解的后面会提):
delete :虽然删了数据,但是真实存储空间未被释放,删除效率低,不过支持回滚,可删除指定数据
truncate :表直接释放存储空间,效率高,但不支持回滚,只能一次全删