一、数据库及搭建需要的软件
-
oracle:oracle 贵,MySQL 免费
-
微软:SQL server 比较贵
-
DB2 银行
-
sqlite django自带
-
mysql 5.6 navicat
二、操作数据库 -
sql:结构化查询语言 相当于普通话
-
分类
1)DDL:定义表
2)DML:操作数据
3)DCL:控制权限
关键字不区分大小写
三、数据库编码 -
创建数据库
creat database 数据库名 character set utf8; 后面为设置字符集
- 创建表
CREATE TABLE 表名( 属性之间用,注意隔开最后一个属性不加,
列名1 列类型 [列的完整性约束],
列名2 列类型 [列的完整性约束],
....
)
- 列类型
int:整数 double/float:小数 varchar:字符串 用 ‘’ datetime:日期+时间 text:文本 enum:枚举 - 完整性约束:
1)主键:表必须有主键,数据的唯一性标识 primary key
2)唯一性约束:unique
3)非空约束: not null
4)默认值约束:default ‘默认值’
5)用于整数列默认自增1:auto_increment
6)无符号整数:unsigned
7)创建表时默认保存当前时间 timestamp,修改记录时默认保存当前时间timestamp
8)指定字符集:describ 表名 / desc 表名 - 修改表
alter table 表名 行为
- 行为:
1)添加列:alter table 表名 add 创建的列名 列类型 【first|after 参考位置的列名】
2)添加主键:alter table 表名 add primary key(列名)
3)添加外键:
4)更改列名:alter table 表名 modify|change 旧列名 新列名 列类型 【first|after 参考位置的列名】 - 删除表:
5)删除列: drop table 列名
6)删除主键: drop primary key
7)更改表名: rename as 新表名
8)删除表: drop table [if exists] 表名1,表名2,… [if exists]先判断如果存在就删除
9)删除数据库: drop database [if exists] 数据库名字 - 如果一起执行多条语句,用;隔开
- 转存数据库表结构:导出导入