1,创建数据表
create table 表名 (
字段名 类型 约束,
字段名 类型 约束
)engine = 存储引擎 charset = utf8;
存储类型:
Innodb 处理大数据容量的数据库系统,Innodb 会产生两个文件:
1) .frm 文件:保存了每个表的元数据,包括表结构的定义等,该文件与数据库引擎无关。
2) .ibd 文件:InnoDB引起开启了独立的表空间(my.ini 中配置 innodb_file_per_table=1)产生的存放该表的数据和索引的文件。
MyISAM 高速引擎,拥有较高的插入,查询速度快,但是不支持业务,外键。
查看引擎:
show engines; #查看 当前版本支持哪些存储引擎。
show create table 表名 ; #查看某个表的存储引擎。
alter table 表名 engine = 存储引擎;
2.删除表 :drop table 表名1,表名2,表名3;
3.重命名 : rename table 旧名 to 新名;
4.查看表结构: desc 表名;
5.增加数据:
1) insert into 表名 (字段名1,字段名2...) values (值1,值2....)
2) insert into 表名 values (值1,值2....)
3) insert into 表名(字段名1,字段名2...) values
(值1,值2....),
(值1,值2....),
(值1,值2....)
。。。;
6.更改数据 :update 表名 set 字段名 1 = 值 ,字段名2 = 值 ... where 条件;
7. 删除数据库:
1,清空表中所有内容:delete from 表名;
2,删除表中的某条记录 delete from 表名 where 条件 ;
3,清空表中的所有数据: truncate 表名;
4,注意:delete和drop的区别是drop删除的是整个表,而delete删除的是表中的数据,但是表还是存在的
5,delete和truncate的区别:如果用delete from清除数据表的内容,那么自增不会被清除,如果在网表里面插入数据会继续编号,而truncate在清除数据表时,会将内容和自增一块清掉,即再往数据表中插入数据时会从1开始编号
8 查看表中的数据 select * from 表名
9 增加字段 : alter table 表名 add 字段名 数据类型 数据类型的属性,
例子:alter table tab add age2 tinyint unsigend;
10 修改字段: alter table 表名 change 旧字段名 新字段名 约束;
11 删除字段:alter table 表名 drop 字段名;
12 常用约束:约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性、唯一性。常见约束如下(主键约束=非空+唯一)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
一、MySQL数据类型:所谓数据类型简单说就是规定了MySQL数据库中每一列上的数据所占空间和值得范围。主要包含数值、日期/时间、字符串(字符)
1,整形: 默认为有符号,可以为数据类型添加相关属性进行限制的,常用属性如下
1) M : 宽度(在0填充的时候才有意义)
2)unsigned : 无符号类型(非负)
3)zerofill : 0 填充(默认为无符号)
4) 格式: tinyint(M) unsigned zerofrill
2,小数型:分为浮点型和定点型,可以为数据类型添加相关数学进行限制,常用属性如下:
1)M : 数据总宽度
2)D: 小数的位数
3)格式 flot(M,D) float (5,2) 表示数据总长为五位(不包含小数点),小数位2位
4)注意:decimal被称为定点型,比浮点型数据更精确,如用float和decimal分别存储1234567.44
二: 日期/时间:包含year、date、time、datetime、timestamp
year :年 ,存储范围是1901-2155,可以用四位数表示,也可以用两位数表示,如果是两位数0-69表示2000-2069 ,如果 70-99 表示1970-1999 。时间需要用单引号。
date:日期典型格式:1992-08-12 范围1000-01-01 到 9999-12-31
time : 时间 格式为 :hh:mm:ss
datetime : 日期和时间 : yyyy-mm-dd hh:mm:ss
timestamp:时间戳
3,字符型
1)char:存储的字符少于varchar,char 最多255个字符 varchar 最对65535
2) 在用char来存储字符时如果真正存储的字符的个数小于M,那么会在末尾用空格补全,在读取该数据时会自动将尾部的空格删除,而varchar不要补空格
3) char 速度比 varchar快
4) char 的存储方式是 ascii 占用1字节,汉子2字节 。varchar都是2字节
text 字符段文本
四:字符型补充:eunm,set
1 , enum :枚举型
alter table t add gender enum('男','女')
2,set 集合型
alter table t add f set ('a','b','c');
(enum和set区别:每次只能从枚举中取一个值,而可以从集合中取多个值,取多个值得格式)