查看数据库 查看所有数据库:show databases;
查看指定部分的数据库(模糊查询):show databases like 'pattern';
pattern是匹配模式
%表示匹配多个字符
_表示匹配单个字符
查看数据库的创建语句:show
create database 数据库名字;
更新数据库:
数据库名字不可以修改
数据库的修改仅权限库选项,即字符集和校对集
alter database 数据库名字
charset/character set[=]字符集
collate校对集
删除数据库
drop database 数据库名字;
数据类型(列类型):对数据进行统一的分类,从系统的角度出发,为了能够使用统一的方式进行管理,更好地利用有限的空间
SQL中将数据类型分成三类
数值类型
字符串类型
时间日期类型
新增数据表
create
table [if not exists] 表名(
字段名字 数据类型,
……
字段名字 数据类型
) [表选项];
表选项:控制表的表现
字符集:charset/character set 具体字符集; --保证表中数据存储的字符集
校对集:collate 具体校对集
存储引擎:engine 具体的存储引擎(innodb和myisam)
查看数据表
查看所有表:show
tables;
查看部分表(模糊查询):show tables like
'pattern';
pattern是匹配模式
%表示匹配多个字符
_表示匹配单个字符
查看表的创建语句:show
create table 表名;
查看表结构(表中的字段信息):desc/describe/show
columns from 表名;
修改数据表
修改表本身
修改表名:rename table 旧表名 to 新表名;
修改表选项(字符集、校对集、存储引擎都可以修改):alter
table 表名
表选项 [=] 值;
修改字段
删除数据表:drop table 表名1,表名2……;
新增字段:alter table 表名 add [column] 字段名 数据类型 [列属性] [位置];
first:第一个位置
after:在哪个字段之后:after 字段名;
修改字段:alter table 表名 modify 字段名 数据类型 [列属性] [位置];
重命名字段:alter table 表名 change 旧字段 新字段名 数据类型 [列属性] [位置];
删除字段:alter table 表名 drop 字段名;
新增数据
方案一:给全表字段插入数据,不需要指定字段列表,要求数据的值出现的顺序必须与表中设计的字段出现的顺序一致,凡是非数值数据,都需要使用引号(建议是单引号)包裹
insert into 表名 values(值列表)[,(值列表)];
方案二:给部分字段插入数据,需要选定字段列表,字段列表出现的顺序与字段的顺序无关,但是值列表的顺序必须与选定的字段顺序一致
insert into 表名 (字段列表) values (值列表) [,(值列表)];
查看数据
查看所有数据:select * from 表名 [where 条件];
查看指定字段、指定条件的数据:select 字段列表 from 表名 [where 条件];
更新数据
update 表名 set 字段 = 值 [where 条件];
建议都有where,否则就是更新全部
删除数据
删除是不可逆的,谨慎删除
delete from 表名 [where条件];
数据类型(列类型):对数据进行统一的分类,从系统的角度出发,为了能够使用统一的方式进行管理,更好地利用有限的空间
SQL中将数据类型分成三类
数值类型
字符串类型
时间日期类型
整数型:存放整型数据
tinyint:迷你整型,使用1个字节存储,表示的状态最多为256种
smallint:小整型,使用2个字节存储,表示的状态最多为65536种
mediumint:中整型,使用3个字节存储
int:标准整型,使用4个字节存储
bigint:大整型,使用8个字节存储
小数型:带有小数点或者范围超出整型的数值类型
浮点型:小数点浮动,精度有限,而且会丢失精度
定点型:小数点固定,精度固定,不会丢失精度
字符串类型分为:char、varchar、text、blob、enum、set
char(定长字符串):磁盘(二维表)在定义结构的时候,就已经确定了最终数据的存储长度
char(L):L代表Length,可以存储的长度,单位为字符,最大长度值可以为255
varchar(变长字符串):在分配空间的时候,按照最大的空间分配,但是实际上最终用了多少,是根据具体的数据来确定
varchar(L):L表示字符长度,理论长度是65536个字符,但是会多出1到2个字节,来确定存储的实际长度
网友评论