操作数据库 > 操作数据库中的表 > 操作数据库中表的数据
1 创建数据库
CREATE DATABASE [IF NOT EXISTS] westos
2 删除数据库
DROP DATABASE [IF EXISTS] westos
3 使用数据库
--tab(键的上面),如果你的表名或者字段名是一个特殊字符,就需要带`` USE `school`
4 查看数据库
show databases
学习思路:
数值
字符串
时间日期
java.util.Data
null
Unsigned:
zero:
自增
非空 NULL not null
默认
拓展(听听就好)
/* 每一个表,都必须存在以下五个字段!未来做项目用的,表示一个记录存在的意义! id 主键 `version` 乐观锁 is_delete 伪删除 gmt_creatr 创建时间 gmt_updata 修改时间 */
-- 目标 : 创建一个school数据库 -- 创建学生表(列,字段) -- 学号int 登录密码varchar(20) 姓名,性别varchar(2),出生日期(datatime),家庭住址,email -- 创建表之前 , 一定要先选择数据库 -- 注意一点,使用英文(),表的名称和字段尽量使用 `` 括起来 -- AUTO_INCREMENT 自增 -- 所有的语句后面加,(英文的) 最后一个不加 -- PRIMARY KEY 主键,一般只有一个表只有一个唯一的主键! CREATE TABLE IF NOT EXISTS `student` ( `id` int(4) NOT NULL AUTO_INCREMENT COMMENT '学号', `name` varchar(30) NOT NULL DEFAULT '匿名' COMMENT '姓名', `pwd` varchar(20) NOT NULL DEFAULT '123456' COMMENT '密码', `sex` varchar(2) NOT NULL DEFAULT '男' COMMENT '性别', `birthday` datetime DEFAULT NULL COMMENT '生日', `address` varchar(100) DEFAULT NULL COMMENT '地址', `email` varchar(50) DEFAULT NULL COMMENT '邮箱', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8
格式
CREATE TABLE [IF NOT EXISTS] `表名`( `字段名` 列类型[属性][索引][注释], `字段名` 列类型[属性][索引][注释], ..... `字段名` 列类型[属性][索引][注释] )[表类型][字符集设置][注释]
常用命令
SHOW CREATE DATABASE school -- 查看创建数据库的语句 SHOW CREATE TABLE student -- 查看创建表的语句 DESC student -- 显示表的结构
-- 关于数据库引擎 /* INNODB 默认使用的 MYISAM 早些年使用的 */
MYISAM | INNODB | |
---|---|---|
事务支持 | 不支持 | 支持 |
数据行锁定 | 不支持 | 支持 |
外键约束 | 不支持 | 支持 |
全文索引 | 支持 | 不支持 |
表空间大小 | 较小 | 较大 |
常规使用操作:
数据表的存储位置
MySQL数据表以文件方式存放在磁盘中
注意 :
* . frm – 表结构定义文件
* . MYD – 数据文件 ( data )
* . MYI – 索引文件 ( index )
InnoDB类型数据表只有一个 *.frm文件 , 以及上一级目录的ibdata1文件
MyISAM类型数据表对应三个文件 :
设置数据表字符集
我们可为数据库,数据表,数据列设定不同的字符集,设定方法 :
修改
-- 修改表名: ALTER TABLE 旧表名 RENAME AS 新表名 ALTER TABLE teacher RENAME AS teacher1 -- 增加表的字段: ALTER TABLE 表名 ADD 字段名 列属性 ALTER TABLE teacher1 ADD age INT(11) -- 修改表的字段(重命名,修改约束!) -- ALTER TABLE 表名 MODIFY 字段名 列属性[] ALTER TABLE teacher1 MODIFY age VARCHAR(11) -- 修改约束 -- ALTER TABLE 表名 CHANGE 旧名字 新名字 列属性[] ALTER TABLE teacher1 CHANGE age age1 INT(1) -- 字段重命名 -- 删除表的字段:ALTER TABLE 表名 DROP 字段名 ALTER TABLE teacher1 DROP age1
删除
-- 删除表(如果存在再删除) DROP TABLE IF EXISTS teacher1
所有判断尽量加上判断,以免报错
注意点: