1.创建数据库
CREATE DATABASE 数据库名;
2.创建表
格式
Create table [if not exists 表名 ](· 字段名 列类型 【属性】 【索引】 【注释】,· 字段名 列类型 【属性】 【索引】 【注释】,· 字段名 列类型 【属性】 【索引】 【注释】……. )【表类型】【字符集设置】【注释】 |
||
---|---|---|
所有的创建和删除尽量加上判断 以免报错
实例:
create table if not exists `user`(
`id` int(10) not null auto_increment comment'唯一标识符',
`name` varchar(30) not null default'匿名' comment'姓名',
`pwd` varchar(20) not null default'123456' comment'密码',
`swx` varchar(2) not null default'女' comment'性别',
`birthday` datetime default null comment'出生日期',
`address` varchar(100) default null comment'家庭住址',
`email` varchar(30) default null comment'邮箱',
PRIMARY KEY (`id`)
)engine =innodb default charset=utf8
查看语句
SHOW CREATE DATABASE 数据库名 --查看创建数据库的SQL语句
SHOW CREATE TABLE 表名 --查看创建表的SQL语句
DESC 表名 --显示表的结构
数据表的
INNODB | MYISAM | |
---|---|---|
事物支持 | 不支持 | 支持 |
数据行锁定 | 不支持(表锁定) | 支持 |
外键约束 | 不支持 | 支持 |
全文索引 | 支持 | 不支持 |
表空间大小 | 较小 | 较大(约等于myiasm两倍) |
常规使用操作:
- MYISAM 节约空间 速度快
- INNODB 安全性高 事务处理 多表多用户操作
在物理空间存在的位置**
所有的数据库文件都存在data目录下 一个文件夹对应一个数据库
本质还是文件的存储
MySQL引擎在物理文件上的区别
- INNODB在数据库表中只有一个 *.frm文件 以及上级目录下的ibdata1文件
- MYISAM对应文件
- *.frm 表结构的定义文件
- *.myd 数据文件(data)
- *.myi 索引文件(index)
设置数据库表的字符集编码
创建表时 | charset=utf8 | 每次创建表格都要加上 |
---|---|---|
配置文件中 | default-character-set=utf8 | 创建表时不需要再设置 |
修改和删除表
--修改表名
ALTER TABLE 表名 RENAME AS 新名
--增加表的字段
ALTER TABLE 表名 ADD 字段 属性;
--修改表的字段(重命名,修改约束)
--ALTER 表名 MODIFY 字段名 属性
--ALTER 表名 CHANGE 旧名字 新名字 属性
ALTER TABLE student1 MODIFY `name` VARCHAR(10) --修改约束
ALTER TABLE student1 CHANGE `name` `name1` VARBINARY(15) --字段重命名
--删除表的字段
ALTER 表名 DROP 字段名
ALTER TABLE student1 DROP `name1`
--如果表存在删除表
DROP TABLE IF EXISTS student1
**