创建数据库,删除数据库
create database databasename charset utf8 collate utf8_general_ci;设置字符集utf8,校对规则utf8_general_ci
drop database databasename;
创建表,删除表
create table tablename(
id int auto_increment primary key,content varchar(200),age int) engine myisam charset utf8;drop table tablename;
告诉服务器我的字符集,要和服务器表的字符集一样
set names gbk/utf8
查看表结构
desc tablename
查看创建库/表
show create database databasename
show create table tablename
插入数据
insert into tablename (id,name) values (1,'lilei'),(2,'hanmeimei');
修改表
update tablename set name='poly',age=18 where id=2
查询数据值为null/不为null
select * from tablename where name is null/is not null
查询顺序
where,group by,having,order by,limit(更好哦了)
子查询
where,from,exist,
清空表
truncate tablename 速度快,如果有自增长id,id初始化
delete from tablename where id=1;(不加where是全删)
delete from tablename 有自增长id,不变,以下是百度的:
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。 DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。 TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。 TRUNCATE,DELETE,DROP放在一起比较: TRUNCATE TABLE:删除内容、释放空间但不删除定义。 DELETE TABLE:删除内容不删除定义,不释放空间。 DROP TABLE:删除内容和定义,释放空间。truncate删除的更彻底,所有的日志记录都会没有,并且是一把全清,不会有where条件。还有个比较大的区别就是truncate后自增长的ID列也会归零,以后插入记录ID从1开始。但是delete后你再插入记录,ID会从上次最大的数字开始。delete 可以配合where条件