文章目录
- DDL语句(Data Defination Language)
- 一、对数据库的操作
- 二、对表结构的操作
- 三、修改表结构(增删列、修改表名等)用的不多
- 四、补充内容
- DML语言数据库操作语言(Data Manipulation Language)
- 一、插入
DDL语句(Data Defination Language)
DDL语句包括三部分:对数据库的操作、对表结构的操作、修改表结构
一、对数据库的操作
1.查看所有的数据库(这里的英文是复数!)
show databases;
2.创建数据库
creat database [if not exits] mydb1 [chartset=utf18];
刷新一下新建的表就出来了
3.切换操作的数据库
use mydb1;
4. 删除数据库
drop database [if exists] mydb1;
5.修改数据库编码(了解即可)
alter database mydb1 character set utf8;
二、对表结构的操作
1. 建表
create table [if not exists] 表名(
字段名1 数据类型[(宽度)] [约束条件] [comment '字段说明'],
字段名2 数据类型[(宽度)] [约束条件] [comment '字段说明'],
)[表的一些设置)
CREATE TABLE if NOT EXISTS t_student(
id int,
name1 VARCHAR(20),
grade int)
1.1表名:以 t_或者tbl_开始,可读性强,见名知意
表明和字段名都是标识符
1.2mysql中数据类型
字符类型 | 含义 | 例子 |
---|---|---|
varchar | 可变长度的字符串 | 根据传来数据的实际长度分配空间,节省空间,但是速度慢,最长255 |
char | 定长字符串 | 不管实际数据长度,都分配固定长度的空间去存储数据,使用不恰当会导致空间浪费,但速度快,如性别字段就可以固定,最长255 |
int | 整数型 | 最长11位 |
bigint | 长整型 | |
float | 单精度浮点 | |
double | 双精度浮点 | |
date | 短日期 | 只包括年月日,默认格式:%Y-%m-%d |
datatime | 长日期 | 包括年月日、时分秒默认格式:%Y-%m-%d %h:%i:%s |
clob | 字符大对象 | 最高4G字符串(文章简介等),超过255字符的,用其存储对象 |
blob | 二进制大对象 | 专门用来存储声音、视频等流媒体数据 |
create table t_student(
no int,
name varchar(10),
sex char(1),
age int(3),
email varchar(255)
);
create table t_student( no int,name varchar(10),sex char(1),age int(3),email varchar(255));
1.3 指定默认值
建表时指定
create table t_student(
no int,
name varchar(10),
sex char(1) default ‘m’;
age int(3),
email varchar(255)
);
1.4 快速创建表(as)
creat table emp2 as select *from emp;
将select *from emp查询出来的表当做一张新表存进去
2.删除表
drop table 表名;//当这张表不存在时会报错
drop table 表名 if exists 表名 ;//如果这张表存在删除
3.查看当前数据库的表以及表结构
show tables;
desc 表名;
三、修改表结构(增删列、修改表名等)用的不多
1.添加列
alter table 表名 add 列名 类型(长度)[约束];
ALTER TABLE t_user ADD dept VARCHAR(20);
2.修改列名和类型
alter table 表名 change 旧列名 新列名 类型(长度)[约束];
3.删除列
alter table 表名 drop 列名;
修改表名(mysql yes,sqlite no)
rename table 表名 to 新表名
mysql可以使用的语法,其他的不行
rename table这个SQL语句来修改表名的基本语法是:
RENAME TABLE <旧表名> TO <新表名>;
sqlite 用下面的语法
alter table titles_test rename to titles_2017;
四、补充内容
在实际的开发中一旦需求确定之后,很少对表结构进行修改,因为开发进行中的时候修改表结构成本较高
1.创建表加入约束
什么是约束?constraint
在创建表时对表中字段加入约束,保证表中数据的完整性和有效性。
2.约束包括哪些?
非空约束 :not null
唯一性约束:unique
主键约束:primary key(简称:PK)
外键约束:foreign key
检查约束:check(mySQL不支持,oracle支持)