1、mysql常用的数据类型
int:整型
float:单精度浮点4字节32位
double:双精度浮点8字节64位
char:固定长度的字符类型
varchar:可变长度的字符类型
text:文本
image:图片
decimal(4,3):4个有效长度数字,小数点后面3位
注:char如果存入数据的实际长度比指定长度药效,会不空格至指定长度,如果存入的数据的实际长度大于指定长度,低版本会被截取,高版本会报错(四舍五入)
数据库管理
数据库管理
mysql常用的数据类型
int:整型
float:单精度浮点4字节32位
double:双精度浮点8字节64位
char:固定长度的字符类型
varchar:可变长度的字符类型
text:文本
image:图片
decimal(4,3):4个有效长度数字,小数点后面3位
注:char如果存入数据的实际长度比指定长度药效,会不空格至指定长度,如果存入的数据的实际长度大于指定长度,低版本会被截取,高版本会报错(四舍五入)
2、数据库管理
进入数据库
查看所有库
进入一个库
use 库名
查看此库内所有表
查看表结构
desc 表名;
Field:字段名称Type:数据类型
Null :是否允许为空
Key :主键
Default :默认值
Extra :扩展属性,例如:标志符列(标识了种子,增量/步长)
查看表内所有信息
select * from 表名;
指定查询
select * from 表名 where 表达式;
select 键名 from 表名; ##指定内容显示
select * from 表名 limit 行数; ##指定显示哪一行
select * from 表名 limit 2,2; ##显示第二行后的前俩行
select * from 表名\G; ##以友好方式显示
3、 SQL语句
创建一个新的库
创建一个新的表
创建表时,需要进入对应库内再进行创建
或者
create table 库名.表名(字段);
primary key (键名) #定义主键
删除库和表
drop databese 库名;
drop table 表名;
不在指定库内用
dro table 库名.表名;
在表中插入数据(insert)
插入数据可选择需要插入的键名,不选择按默认顺序插入数据
注意,有的选项时不可为空not null,如果不写入数据,会出现报错
更改表中原有数据(update)
格式:UPDATE 表名 SET 字段名1=字段值1 [,字段名2=字段值2]〔WHERE 条件表达式];
删除原有数据 (delete)
DELETE FROM表名[WHERE条件表达式];
delete from 表名; ##删除表内所有数据
修改表名和表结构(alter)
修改表名
修改表结构
alter table 表名 change ****;
添加一行新的表结构
删除字段,表结构
数据库的高级操作
仅复制表内容
truncate table test01;
#TRUNCATE清空表后,没有返回被删除的条目:TRUNCATE 工作时是将表结构按原样重新建立,因此在速度上TRUNCATE会比DELETE清空表快;使用TRUNCATE TABLE清空表内数据后,ID会从1开始重新记录
delete from和truncate table及drop table table_name对比
drop table table_name
(1)属于DDL
(2)不可回滚(无法恢复)
(3)不可带where
(4)表内容和结构删除5)删除速度快
truncate table table_name
(1)属于DDL
(2)不可回滚
(3)不可带where
(4)表内容删除
PS:truncate 操作过程是:先保留要删除的表的表结构,然后删除表,再重建这张表的表结构所以,例如auto_increment自增长的这种属性,会从头开始重新记录
(5)删除速度快
delete from table_name
(1)属于DML
(2)可回滚(可恢复)
(3)可带where
(4)表结构在,表内容要看where执行的情况
(5)删除速度慢,需要逐行删除
不再需要一张表的时候,用drop
想删除部分数据行时候,用delete
并且带上where子句保留表而删除所有数据的时候用truncate
拓展:
(1)if not exists:表示检测要创建的表是否已存在,如果不存在就继续创建
(2)int(4) zerofill:表示若数值不满4位数,则前面用"o"填充,例0001
(3)auto_increment:表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;
自增长字段数据不可以重复;自增长字段必须是主键;如添加的记录数据没有指定此字段的值且添加失败也会自动递增一次;
(4)unique key:表示此字段唯一键约束,此字段数据不可以重复:一张表中只能有一个主键,但是一张表中可以有多个唯一键
(5)not null:表示此字段不允许为NULL