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;

posted @ 2020-06-28 20:15  你别皱眉丫  阅读(1046)  评论(0编辑  收藏  举报