失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 数据库基础之一--DDL(数据库定义语言) DCL(数据库控制语言)

数据库基础之一--DDL(数据库定义语言) DCL(数据库控制语言)

时间:2019-04-14 22:32:02

相关推荐

数据库基础之一--DDL(数据库定义语言) DCL(数据库控制语言)

Mysql是一个非常典型的C/S结构的应用模型,所以Mysql连接必须依赖于一个客户端或者驱动.

在linux中支持两种连接模式:TCP/IP模式和socket

SQL语句的四部分:

DDL:数据定义语言

DCL:数据控制语言

DML:数据操作语言

DQL:数据查询语言

这篇博客主要对DDL进行介绍

一.首先从数据库方面介绍,对的增删查改

1.新建数据库

CREATE DATABASE panyang;

CREATE DATABASE panyang2 charset=utf8; 指定字符集

2.查询数据库

SHOW DATABASES;该命令行在命令行中教常用

如,在mac终端中连接数据库mysql -u root -p

SHOW CREATE DATABASE panyang;查看创建数据库的时候得语句

3.修改数据库

ALTER DATABASE panyang charset utf8;修改数据库编码格式

4.删除数据库

DROP DATABASE panyang2;

二.操作

在命令行中,使用哪一个数据库命令

USE 你要用的数据库名称 如:use panyang

1.新建

CREATE TABLE student(

id int(10) PRIMARY KEY AUTO_INCREMENT NOT NULL,自增,主键,不能为空

name VARCHAR(20) NOT NULL UNIQUE,不能为空,唯一

age INT(10) NOT NULL, 不能为空

address VARCHAR(50) NOT NULL不能为空

)CHARSET utf8;

2.查询

SHOW TABLES;查看所有的表;

SHOW CREATE TABLE student;

desc student;查询表结构

3.修改(alter.注:update面对的是数据,alert是面对的表)

a.在表的最后一列新加一个字段interst

ALTER TABLE student ADD interst VARCHAR(10);

b.在表的第一列增加一个字段

ALTER TABLE student ADD sid int FIRST;

c.在age字段后增加一个字段

ALTER TABLE student ADD sex VARCHAR(10) AFTER age;

d.在age字段后增加一个字段tel并且在最后一列增加email

ALTER TABLE student ADD tel VARCHAR(13) AFTER age,ADD email VARCHAR(20);

e.修改列的名称

ALTER TABLE student CHANGE age age111 int(20);

f.修改列数据类型

ALTER TABLE student MODIFY sex int(4);

g.删除一个列

ALTER TABLE student DROP sid;

4.删除

DROP TABLE student;

补充:

1.创建一个与一个已经存在的表的表结构相同的表的方法.

CREATE TABLE student2 like student;前面是新的表名,后面是旧表名

2.创建一个与一个已经存在表的备份表(结构相同,数据相同)

CREATE TABLE student22 SELECT * FROM student;

*************DCL***************

数据控制语言,控制用户权限

一个用户可以做什么操作?

1.Mysql用户连接Mysql

2.控制(库,表,数据)权限

主要使用以下命令

GRANT select,update *.* TO 'root'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;

(对ip为localhost的root用户密码为123456,进行查找和增加的权限限制)

GRANT ALL PRIVILEGES ON *.* TO 'test'@'10.0.1.%' IDENTIFIED BY '123456' WITH GRANT OPTION;

(对ip为10.0.1开头的test用户密码为123456,所有权限)

FLUSH PRIVILEGES

这里对个语句进行解释:

1.*.*库.表

*代表没有显示

*.*代表所有库下面的所有表.如test.student表示test库下的student表

2.'root'@%

%代表没有限制

root代表受限制的用户

'root'@'localhost'表示:ip为localhost的root用户受限制

'root'@'10.0.1.%'表示:ip为10.0.1开头的root用户受限制

权限限制的4个角度:

1、你需要从哪里连接数据库?

2、你需要对谁操作,做什么操作?

3、你要用哪个用户进行操作?

4、密码是什么?

如果觉得《数据库基础之一--DDL(数据库定义语言) DCL(数据库控制语言)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。