操作数据库>操作数据库中的表>操作数据库中表的数据
mysql关键字不区分大小写
1,创建数据库
create database [if not exists] westos
2,删除数据库
drop database [if exists] westos
3,使用数据库
--如果你的表名或者字段名是一个特殊字符,就需要带·· use school
4,查看数据库
show databases --查看所有的数据库
学习思路:
数值
字符串
时间日期
java.util.Date
null
Unsigned:
zerofill:
自增:
非空 NULL not null
默认:
扩展:
/* 每一个表,都必须存在以下五个字段!未来做项目用的,表示一个记录存在的意义! id 主键 ·version· 乐观锁 is_delete 伪删除 gmt_create 创建时间 gmt_upodate 修改时间 */
-- --目标:创建一个school数据库 -- --创建学生表(列,字段) 使用sql创建 -- --学号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'姓名', `powdata` VARCHAR(20) NOT NULL DEFAULT'123456'COMMENT'密码', `sex` VARCHAR(10) 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 | |
---|---|---|
事物支持 | 不支持 | 支持 |
数据行锁定 | 不支持 | 支持 |
外键约束 | 不支持 | 支持 |
全文索引 | 支持 | 不支持 |
表空间大小 | 较小 | 较大,约为2倍 |
常规使用操作:
在物理空间存在的位置
所有的数据库文件都存在data目录下,本质还是文件的存储!
MySQL引擎在物理文件上的区别
设置数据库表的字符集编码
charset=utf8
不设置的话,会是mysql默认的字符集编码~(不支持中文)
在my.ini中配置默认的编码
character-set-server=utf8
| ### 修改删除表
修改
-- 修改表名 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 `data`
所有的创建和删除操作尽量加上判断,以免报错