1. 操作数据库
- 创建数据库
CREAT DATABASE [IF NOT EXISTS] name
[]的意思是可带可不带 - 删除数据库
DROP DATABASE [IF EXISTS] name
- 使用数据库
use name
- 查看数据库
show DATABASE
2. 字段的属性
ZEROFILL:用0填充的,不足的位数用0来填充
Auto_InCrement:自增的,默认自动+1,通常用来设计主键,可自己设置起始值和一次增加的长度:
- 当前表设置步长(AUTO_INCREMENT=100) : 只影响当前表
- SET @@auto_increment_increment=5 ; 影响所有使用自增的表(全局)
NOT NULL:该列必须有值
DEFAULT:默认值
示例
CREATE TABLE IF NOT EXISTS `user`(
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '添加注释,这是用户id',
`name` VARCHAR(30) NOT NULL COMMENT '用户名',
`pwd` VARCHAR(30) NOT NULL COMMENT '密码'
PRIMARY KEY (`id`)
)ENGINE = INNODB
修改数据库
修改表名:ALTER TABLE 旧表名 RENAME AS 新表名
添加字段(属性): ALTER TABLE 表名 ADD字段名 属性
字段就是表的列
修改字段:
- ALTER TABLE 表名 MODIFY 字段名 属性
- ALTER TABLE 表名 CHANGE 旧字段名 新字段名 属性(用来修改列名)
删除字段:ALTER TABLE 表名 DROP 字段名
删除表:DROP TABLE [IF EXISTS] 表名
增删查改
insert
INSERT INTO `user`(`pwd`) VALUES ('123');//对单个属性插入
INSERT INTO `user`(`id`,`name`,`pwd`) VALUES ('3','FXL','564123'),('4','KKK','123456');//插入多条数据
INSERT INTO `user` VALUES ('3','FXL','564123');//省略字段插入,前提是满足所有字段.一一对应
update
UPDATE `user` SET `id`='6' WHERE `name`= 'FXL';//指定条件
不指定的情况下,会改动所有的行
delete
//删除所有
DELETE FROM `user`;
//删除指定数据
DELETE FROM `user` WHERE `id`=1;
DELETE和TRUNCATE 的区别:
DELETE可以条件删除(where子句),而TRUNCATE只能删除整个表
TRUNCATE 重新设置自增列,计数器会归零,而DELETE不会影响自增
DELETE是数据操作语言(DML - Data Manipulation Language),操作时原数据会被放到 rollback segment中,可以被回滚;而TRUNCATE是数据定义语言(DDL - Data Definition Language),操作时不会进行存储,不能进行回滚。