数据库基础之一--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(数据库控制语言)的更多相关文章
- MySQL数据库笔记六:数据定义语言及数据库的备份和修复
1. MySQL中的函数 <1>加密函数 password(str) 该函数可以对字符串str进行加密,一般情况下,此函数给用户密码加密. select PASSWORD('tlxy666 ...
- sql 两大类 DDL数据定义语言 和DCL数据控制语言
SQL分为五大类: DDL:数据定义语言 DCL:数据控制语言 DML:数据的操纵语言 DTL:数据事务语言 DQL:数据查询语言. DDL (date definition lang ...
- 数据库中的DDL和DML语言
"D:\mysql-5.6.22-winx64\bin"添加到系统环境变量path中了,然后在任意目录可访问mysql等命令,这样如登录等操作就不需要进入MySQL安装目录才好执行 ...
- oracle学习笔记(三) DCL 数据控制语言与 DDL 数据定义语言
DCL 数据控制语言 Data control language 之前说过的授权和收权利语句 grant, revoke DDL 数据定义语言 Data define language create ...
- Hive 官方手册翻译 -- Hive DDL(数据定义语言)
Hive DDL(数据定义语言) Confluence Administrator创建, Janaki Lahorani修改于 2018年9月19日 原文链接 https://cwiki.apache ...
- mysql DDL数据定义语言
DDL数据定义语言 本节涉及MySQL关键字:create.alter(rename,add,chang,modify,drop).drop.delete.truncate等. -- 创建表:-- 数 ...
- DDL数据定义语言
DDL数据定义语言 (一)概述 DDL(Data Definition Language):数据定义语言,用来定义数据库对象,库.表.列等:创建.删除.修改 库,表结构.主要分为操作数据库的DDL和操 ...
- 【MySQL】DDL数据定义语言的基本用法create、drop和alter(增删改)
DDL 的基础语法 文章目录 DDL 的基础语法 对数据库进行定义 对数据表进行定义 创建表结构(数据表) 设计工具 修改表结构 小结 参考资料 简单复习一波 SQL必知必会 DDL 的英文全称是 D ...
- Oracle language types(语言种类) 表的相关操作 DDL数据定义语言
数据定义语言 Data Definition Language Statements(DDL)数据操纵语言 Data Manipulation Language(DML) Statements事务控制 ...
随机推荐
- _CrtDumpMemoryLeaks()的作用 检测内存泄漏
_CrtDumpMemoryLeaks()的作用 2007-03-22 10:11 CrtDumpMemoryLeaks()就是显示当前的内存泄漏. 注意是“当前”, 也就是说当它执行 ...
- uvm_misc——杂货铺(miscellaneous)
uvm_misc 是个很有意思的文件夹,本质上就是个UVM的杂货铺,包含一些很重要的class, task, function, 但不知道给归类到哪儿,所以,uvm_misc就很好地承担了这个任务,几 ...
- 企业CIO、CTO必读的34个经典故事
一. 用人之道 去过庙的人都知道,一进庙门,首先是弥陀佛,笑脸迎客,而在他的北面,则是黑口黑脸的韦陀.但相传在很久以前,他们并不在同一个庙里,而是分别掌管不同的庙.弥乐佛热情快乐,所以来的人非常多,但 ...
- Django之CSRF问题
1.csrf全称:cross site request forgery(跨站请求伪造),举例来讲,一个安全的网站A,一个恶意网站B,当你在A网站进行了登录后,这时候浏览器会保存你的cookie和ses ...
- 刷新本地DNS缓存的方法
http://www.cnblogs.com/rubylouvre/archive/2012/08/31/2665859.html 常有人问到域名解析了不是即时生效的嘛,怎么还是原来的呢?答案就是在本 ...
- 如何让Spring MVC显示自定义的404 Not Found页面
不知道大家对千篇一律的404 Not Found的错误页面是否感到腻歪了?其实通过很简单的配置就能够让Spring MVC显示您自定义的404 Not Found错误页面. 在WEB-INF的web. ...
- mvc的model验证,ajaxhelper,验证机制语法
ajaxhelper: onsuccess是调用成功后显示方法,还有一个方法是调用前显示 model验证: 控件前端验证: 需要引入的JS 其中第二个是ajaxhelper的必须验证 后台的两个同名不 ...
- iOS 随机数(Fixed)
ios 有如下三种随机数方法: 1. srand((unsigned)time(0)); //不加这句每次产生的随机数不变 int i = rand() % 5; 2. ...
- C-基础:详解sizeof和strlen,以及strstr
sizeof和strlen (string.h) 先看几个例子(sizeof和strlen之间的区别): (1) 对于一个指针, char* ss ="0123456789"; ...
- 2017年网络空间安全技术大赛部分writeup
作为一个bin小子,这次一个bin都没做出来,我很羞愧. 0x00 拯救鲁班七号 具体操作不多说,直接进入反编译源码阶段 可以看到,只要2处的str等于a就可以了,而str是由1处的checkPass ...