一、修改表的语句
对表的修改实际上是指四大语句——SELECT,DELETE,UPDATE,INSERT的后三个。
因为第一个是查询语句,是“读”操作,其余的是“写”操作(假如delete也算)。
相对于select的五花八门,剩下三个可以说是非常简洁了。
delete:
delete from tablename
where c;
也就是delete from...where模式;
这里如果没有where会直接清空所有行哦。
update:
update tablename
set filed1=val1,field2=val2...
where c;
简称 update ...set...where模式。同样的,没有where就会更新每一行。
insert:
insert into tablename(f1,f2,f3,....fn)
values (a1,a2,a3...an),(b1,b2,b3...bn)...;
简称insert into ...values模式,这个语句会根据给出的表模式按顺序插入多个字段(想怎么插怎么插)。
如果有忽视的字段会插入一个Null值,但是当建表时候就指示某些字段不可以为null时就会插入错误。
二、建表以及修改表结构
建立一个数据表需要create table语句;
一般来说是如下模式:
create table tablename(
fieldname1 type,
fieldname2 type,
....
primary key(fx,..)
)engine=XXX;
这里面每个字段都可以指定一个type
其中mysql有以下几种常用的类型:
char(n)——n个字符的定长串(n不超过255);
varchar——变长,不超过255个字符的串;
tinytext,text,mediumtext,longtext——最大长度分别为255字节,64kb,16kb,4gb的文本;
(unsigned)int,(unsigned)bigint——32位,64位整数;
同理tiny是8位,small是16位;
float——单精度浮点,double——双精度浮点,decimal——可变精度浮点;
date——日期类,年:月:日;
time——日期类,小时:分钟:秒;
datetime——上面二者的组合;
tinyblob,mediumblob,blob,longblob——最大长度为255字节,16mb,64kb,4gb的二进制数据;
并且可以指定是否允许空值
允许:field type null;不允许:field type not null;
可以指定默认值(在insert语句中没有提到的字段将使用默认值XXX)
field type default XXX;
最后一行,指定引擎。mysql有三种可以选择的引擎,各有各的好处
InnoDB——支持事务处理,但不支持全文本搜索;
MyISAM——支持全文本搜索,但不支持事务处理;
MEMORY——原则上功能与MyISAM相同,但是放在内存中,当数据不大时可以进行非常快的操作。
当不指定引擎时,默认为MyISAM。
如果要删除一个表,就使用语句
drop table tablename;
这次直接删除了一个表。与delete from全部相比就相当于是字符串的null和“”(空值和空串)。
三、建立/删除数据库
create/drop database DBname
效果是和操作一个表一样,不过是在数据库层面上。
切换一个数据库
use dbname;
使用一个指定的数据库。