数据操作分类:
1. 数据操作(管理)语言 dml 查询dql 管理dml
2.数据结构处理,数据定义语言,对保存数据的格式进行定义 ddl
3. 数据库管理系统操作 dcl
### 创建数据库:
**create database zkcrm [字符集,校对规则];**
字符集:
校对规则:每个字符集,默认对应一个校对规则
每创建一个数据库,会在data目录创建一个对应的文件夹
### 查询数据库:
`show databases;`
### 查询数据库结构
`show create database zkcrm;`
### 使用数据库
`use zkcrm;`
### 删除数据库
`drop database zkcrm;`
### 修改数据库属性
alter database zkcrm [修改指令]; //只能修改数据库属性
`alter database zkcrm character set gbk;`
### 数据库改名
1. 直接改data里面的文件夹名,不通用
2. 将所有表拿出来放到新的数据库里面
## 创建表
create table 表名 列结构 [表选项];
~~~
create table person (
id int primary key auto_increment,
name varchar(64) not null,
age int(3) unsigned not null
) ;
~~~
列名称 数据类型 [列约束],
64是字符长度,不是字节长度
整型主要用来加减乘除,其他的都算字符串型
## 表操作
### 显示所有表
~~~
show tables
show tables like 'exam_%'
show tables like '%exma%'
~~~
### 表前缀
同一个数据库,区分不同的网站
### 查看表创建信息
`show create table student;`
### 查看表结构
`desc student;`
### 删除表
不允许删除的,先删除对应表文件,然后用语法删除
`drop table student;`
### 修改表属性
`alter table student character set utf-8`
### 表重命名
rename table student to stus,user to user2,dept to department; //同一个数据库
rename table student to xxx.stu; //把表移动到别的数据库,并重命名
### 修改表的字段列定义
alter table student **add|drop|change|modify**
#### 增加:
add +新列的定义 add heig varchar(16) not null default 0 comment "身高";
#### 修改:
modify+列定义 modify username varchar(40);
#### 删除:
drop+列名 alter table student drop sex;
#### 重命名列名称:
change +原列名 新列定义 change username user varchar(64);