Mysql之DDL操作
Mysql之DDL操作
一、数据库简介
1、数据库(DB):按照一定数据结构存储数据的仓库
龟壳--》竹子--》纸--》电子设备(U盘、SD卡、磁盘、移动硬盘、网盘)--》数据库
2、数据库管理系统(DBMS):操纵和管理数据库的一套软件。
Mysql/oracle/sql server
3、分类
关系型数据库管理系统(RDBMS)
常见的系统有:Oracle/Mysql/SQL server/DB2/mariaDB
非关系型数据库管理系统(NoSQL-->not only SQL)
1)redis 主要做缓存用,可以快速的建立缓存
2)hbase 列族数据库
3)mongodb 主要做文档型的数据库
4)neo4j主要做图数据库,在社交网络这一块运用比较广
4、Mysql数据库管理系统
Mysql是一个关系型数据库管理系统。
Mysql采用关系模型对数据进行管理,采用分表的形式管理,对多张表存在情况下,可以采用分库的形式进行管理
Mysql数据库管理系统中可以管理多个数据库,在一个数据库中可以存放多张表
Mysql数据库管理系统是一个多用户管理系统(root设置密码,添加一个用户)
二、SQL介绍
1、Structure Query Language结构化查询语言。关系型数据库中进行操作的标准语言。
2、特点
对大小写不敏感 SELECT select Select
结尾要使用分号一行代码结束之后;
3、分类
DDL:数据定义语言(数据库对象的操作(结构))
数据库对象:数据库、表、视图、索引等
create / alter / drop
DML:数据操纵语言(对数据库对象中的数据的操作 增删改查)
insert / update / delete / select
DCL:数据控制语言(授权 取消授权)
grant / revoke
TCL:事务控制语言(对事务的控制)transaction
commit / rollback(回滚)
三、DDL数据定义语言
1、数据库 database
创建数据库:create database 数据库名;
销毁数据库:drop database 数据库名;
create database huace1;
drop database huace1;
2、表 table
1)创建表
语法:
create table 表名(
字段1 类型 [约束],
字段2 类型 [约束],
........
);
#表
create table userinfo(
username varchar(20), #字段 数据类型
pwdvarchar(50),
telvarchar(15),
email varchar(20)
);
2)删除表
语法:drop table 表名;
drop table student;
3)修改表
表中字段进行添加 add、删除 drop、修改change/modify的操作
语法:alter table 表名 add | change/modify | drop 字段名 类型 约束;
alter table userinfo add status int;
alter table userinfo drop email;
alter table userinfo change username login_name varchar(20);
alter table userinfo modify pwd varchar(16); #modify不可以用来修改字段名
alter table userinfo change pwd pwd int;
alter table userinfo change pwd my_pwd varchar(16); #同时修改字段名和数据类型
alter table userinfo modify `status` int first; fitst关键字把status字段方到最先面。
alter table userinfo modify `status` int after login_name; after关键字 把status字段放到login_name字段后面。
3、数据类型
主要是用来限制输入的内容
数值类型、字符串类型、日期类型、其他类型
1)数值类型:int 整数 float 浮点数 double 浮点数 decimal 浮点数
float(10,2)double(16,4) decimal(5,2) 一定要声明长度和精度
2)字符串类型:char(n) 定长长度 varchar(n) 不定长长度
name char(10)name varchar(10)
张三张三
3)日期类型:date(年月日)、time(时分秒)、datetime(年月日)、timestamp(年月日)、year(年)等
学生表(id int,name varchar(10),money float,in_date date)
create table student(
id int,
name varchar(10),
money float,
in_date date
)
练习题:
1) 创建用户表(user)
字段类型长度
uid int
uname varchar20
password varchar20
birthday date
create table user(
uid int
uname varchar(20),
password varchar(20),
birthday date
);
2) 向用户表中追加字段email,varchar类型,长度20
alter table user add email varchar(20);
3) 向用户表最前面添加字段status,int类型
alter table user add status int first;
4) 向用户表password字段后面添加sage,int类型
alter table user add sage int after passwoed;
5) 修改sage的名称为age
alter table user change sage age int;
6) 修改password字段的长度为50
alter table user modify password varchar(50);
7) 修改status到email之后的位置
alter table user modify status int after email;
8) 删除字段status
alter table user drop status;
9) 修改表的名称为userinfo
rename table user to userinfo;
10) 清空数据库表
truncate table userinfo
11) 销毁数据库表user
drop table user;