MySQL数据库基础(3)DDL和DML
一、使用DDL定义数据库和表结构
- 结构化查询语言:(Structured Query Language,SQL)是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,专用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名
 - 数据定义语言(Data Definition Language,DDL):主要工作是用于定义和维护数据库以及数据表结构
 - 数据库
- 创建:CREATE DATABASE database_name
 - 删除:DROP DATABASE database_name
 - 显示所有数据库:SHOW DATABASES
 
 - 数据表
 
创建:
CREATE TABLE table_name(
column_name data_type [NOT NULL] [DEFAULT default_value] [AUTO_INCREMENT] [],
...
[PRIMARY KEY(pk_name),]
[FOREIGN KEY(fk_name) REFERENCES referenced_table_name(ref_pk_name)]
)
- “[]”中的内容为可选项。table_name:表名。
 - column_name:字段名。
 - data_type:字段数据类型。default_value:默认值。
 - auto_increment:主键值自动增长。pk_name:当前表中的主键名。
 - fk_name:当前表中的外键名。
 - referenced_table_name:被引用表名(主表名)。ref_pk_name:被引用表主键名。
 
二、使用DDL维护数据库表结构
- 修改语法:alter table table_name
- 新增字段:add column_name data_type [not null]
 - 更改字段:CHANGE column_name new_column_name data_type [NOT NULL]
 - 更新字段:MODIFY column_name new_data_type [NOT NULL]
 - 删除字段:drop column column_name
 - 删除唯一约束:DROP UNIQUE constraint_name
 
 
2、重命名表:RENAME TABLE table_name TO new_table_name3、添加外键约束:
ALTER TABLE table_name
ADD CONSTRAINT constraint_name FOREIGN KEY(fk_name) REFERENCES referenced_table_name(ref_pk_name)]
三、使用 DML 新增和更新表数据
- 数据操纵语言(Data Manipulation Language,DML) 由 DBMS 提供,用于让用户或程序员使用,实现对数据库中数据的操作。基本的 DML 分为两类四种:检索(查询)和更新(插入、删除、修改)
 - 插入数据语法:INSERT [INTO] table_name[( 字段列表 )] VALUES( 值列表
- 向字符串类型的 char、varchar、text 以及日期型字段插入数据时,字段值要括于单引号中。(在 MySQL 中单引号和双引号没有任何区别,但单引号为 SQL 标准,所以提倡使用单引号。)
 - 向自增型 auto_increment 字段插入数据时,建议插入 null 值,此时将向自增型字段插入下一个编号。
 - 向默认值约束字段插入数据时,字段值可以使用 default 关键字,表示插入的是该字段的默认值。
 - 插入新纪录时,需要注意表之间的外键约束关系,原则上先为主(父)表插入数据,然后再为从(子) 表插入数据。
 
 
3、修改数据语法:UPDATE table_name set
字段名 1= 值 1, 字段名 2= 值 2,..., 字段名 n= 值 n
[WHERE 条件表达式 ]
四。删除数据
MySQL数据库基础(3)DDL和DML的更多相关文章
- Mysql 数据库操作之DDL、DML、DQL语句操作
		
Mysql 数据库操作之DDL.DML.DQL语句操作 设置数据库用户名密码 l Show databases 查看数据库列表信息 l 查看数据库中的数据表信息 ,格式: use 数据库名: sh ...
 - Mysql数据库基础操作
		
Mysql数据库基础操作 在mysql数据库中开启使用tab键补全功能 1)修改主配置文件/etc/mysql/my.cnf(mysql和mariadb目录有些不同) vim /etc/mysql/m ...
 - MySQL数据库--基础简述
		
MySQL数据库--基础简述 1.15.1 MySQL简介 Mysql是最流行的RDBMS(Relational Database Management System:关系数据库管理系统),特别是在W ...
 - MySQL数据库基础知识及优化
		
MySQL数据库基础知识及优化必会的知识点,你掌握了多少? 推荐阅读: 这些必会的计算机网络知识点你都掌握了吗 关于数据库事务和锁的必会知识点,你掌握了多少? 关于数据库索引,必须掌握的知识点 目录 ...
 - mysql数据库基础的简单操作指南
		
最近在学习mysql,本文是做的关于mysql学习的笔记,跟大家分享一下,希望对大家学习mysql知识有所助益.mysql现在几乎已经成了网站建设的主流数据库,很多php网站系统都采用了mysql数据 ...
 - MySQL数据库基础
		
MySQL数据库基础 本文的所有操作是基于CMD环境,MySQL通过在命令行中输入SQL语句对数据库进行操作.配置问题可参考<打通MySQL的操作权限>中的内容,该文算是针对前期的环境配置 ...
 - Mysql数据库基础学习笔记
		
Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ...
 - mysql数据库基础-2019-9-10(随堂笔记)
		
mysql数据库基础 在cmd情况下启动mysql数据库:(配置path环境变量后可忽略) 运行mysql1. 进入mysql路径2. 执行:mysql -uroot -p,安装时的密码 1.数据库& ...
 - php面试专题---15、MySQL数据库基础考察点
		
php面试专题---15.MySQL数据库基础考察点 一.总结 一句话总结: 注意:只写精品 1.mysql定义int(3),那么我存1234就错了么? 不是:无影响:只会影响显示字符的个数:可以为整 ...
 - PHP面试  MySQL数据库基础
		
MySQL数据库基础 MySQL数据类型 整数类型:TINYINT SMALLINT MEDIUMINT INT BIGINT 属性:UNSIGNED 长度:可以为整数类型指定宽度,列 ...
 
随机推荐
- Java中的Date和时区转换
			
1.Date中保存的是什么 在java中,只要我们执行 Date date = new Date(); 就可以得到当前时间.如: Date date = new Date(); System.out. ...
 - linux 配置本地yum
			
1.挂载光盘 #挂载光盘 mount /dev/cdrom /mnt/cdrom 2.修改yum.conf, 运行 vi /etc/yum.conf,文件替换成如下内容 [main] cachedir ...
 - t01_docker安装TiDB
			
Docker环境安装TiDB,在官方说明的基础上补充了几个细节,安装记录如下 个人环境-vbox上安装centos7.4系统 CPU:12核24线程,分配给虚拟机12线程 MEM: 48G,分配给虚拟 ...
 - jQuery - focusin/focusout/focus/blur事件的区别与不同
			
focus与blur事件:不支持冒泡 focusin与focusout:支持冒泡 事件触发顺序: 对于同时支持这4个事件的浏览器,事件执行顺序为focusin(聚焦) > focus > ...
 - 【Python】文本包jieba使用
			
看了一个教程:https://www.cnblogs.com/wkfvawl/p/9487165.html 有些不懂的地方自己查阅了一下 键值的添加,获得文件中相同字符出现的次数, counts = ...
 - python的随机森林模型调参
			
一.一般的模型调参原则 1.调参前提:模型调参其实是没有定论,需要根据不同的数据集和不同的模型去调.但是有一些调参的思想是有规律可循的,首先我们可以知道,模型不准确只有两种情况:一是过拟合,而是欠拟合 ...
 - R数据分析:变量间的非线性关系,多项式,样条回归和可加模型
			
之前的文章中都是给大家写的变量间线性关系的做法,包括回归和广义线性回归,变量间的非线性关系其实是很常见的,今天给大家写写如何拟合论文中常见的非线性关系.包括多项式回归Polynomial regres ...
 - dart系列之:实时通讯,在浏览器中使用WebSockets
			
目录 简介 dart:html中的WebSockets 创建一个WebSocket WebSocket的状态 发送消息 处理WebSocket事件 总结 简介 web客户端和服务器端通信有两种方式,一 ...
 - 源码-DbUtil.java
			
package com.tetralogy.util; import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.sql.D ...
 - AcWing1264. 动态求连续区间和 (线段树做法)
			
1.题目 给定 n 个数组成的一个数列,规定有两种操作,一是修改某个元素,二是求子数列 [a,b] 的连续和. 输入格式 第一行包含两个整数 n 和 m,分别表示数的个数和操作次数. 第二行包含 n ...