02 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), #字段 数据类型
pwd varchar(50),
tel varchar(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;
alter table userinfo modify `status` int after 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 varchar 20
password varchar 20
birthday date
2) 向用户表中追加字段email,varchar类型,长度20
3) 向用户表最前面添加字段status,int类型
4) 向用户表password字段后面添加sage,int类型
5) 修改sage的名称为age
6) 修改password字段的长度为50
7) 修改status到email之后的位置
8) 删除字段status
9) 修改表的名称为userinfo
10) 清空数据库表
11) 销毁数据库表user
答案:
-- 练习题:
-- 1) 创建用户表(user) #反引号,ESC下面的这个键
-- 字段 类型 长度
-- uid int
-- uname varchar 20
-- password varchar 20
-- 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);
desc `user`;
-- 3) 向用户表最前面添加字段status,int类型
alter table `user` add `status` int first;
-- 4) 向用户表password字段后面添加sage,int类型
alter table `user` add sage int after `password`;
-- 5) 修改sage的名称为age modify,change
alter table `user` change sage age int;
-- 6) 修改password字段的长度为50
alter table `user` change `password` `password` varchar(50);
alter table `user` modify `password` varchar(50);
-- 7) 修改status到email之后的位置
alter table `user` modify `status` int after email;
alter table `user` change `status` `status` int after email;
-- 8) 删除字段status
alter table `user` drop `status`;
-- 9) 修改表的名称为userinfo
rename table `user` to userinfo;
-- 10) 清空数据库表
truncate table userinfo;
delete from userinfo; #dml
-- 11) 销毁数据库表user
drop table userinfo;
网友评论