一、使用DDL定义数据库和表结构

  1. 结构化查询语言:(Structured Query Language,SQL)是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,专用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名
  2. 数据定义语言(Data Definition Language,DDL):主要工作是用于定义和维护数据库以及数据表结构
  3. 数据库
    1. 创建:CREATE DATABASE database_name
    2. 删除:DROP DATABASE database_name
    3. 显示所有数据库:SHOW DATABASES
  4. 数据表

创建:

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)]

)
  1. “[]”中的内容为可选项。table_name:表名。
  2. column_name:字段名。
  3. data_type:字段数据类型。default_value:默认值。
  4. auto_increment:主键值自动增长。pk_name:当前表中的主键名。
  5. fk_name:当前表中的外键名。
  6. referenced_table_name:被引用表名(主表名)。ref_pk_name:被引用表主键名。

二、使用DDL维护数据库表结构

  1. 修改语法:alter table table_name

    1. 新增字段:add column_name data_type [not null]
    2. 更改字段:CHANGE column_name new_column_name data_type [NOT NULL]
    3. 更新字段:MODIFY column_name new_data_type [NOT NULL]
    4. 删除字段:drop column column_name
    5. 删除唯一约束: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 新增和更新表数据

  1. 数据操纵语言(Data Manipulation Language,DML) 由 DBMS 提供,用于让用户或程序员使用,实现对数据库中数据的操作。基本的 DML 分为两类四种:检索(查询)和更新(插入、删除、修改)
  2. 插入数据语法:INSERT [INTO] table_name[( 字段列表 )] VALUES( 值列表
    1. 向字符串类型的 char、varchar、text 以及日期型字段插入数据时,字段值要括于单引号中。(在 MySQL 中单引号和双引号没有任何区别,但单引号为 SQL 标准,所以提倡使用单引号。)
    2. 向自增型 auto_increment 字段插入数据时,建议插入 null 值,此时将向自增型字段插入下一个编号。
    3. 向默认值约束字段插入数据时,字段值可以使用 default 关键字,表示插入的是该字段的默认值。
    4. 插入新纪录时,需要注意表之间的外键约束关系,原则上先为主(父)表插入数据,然后再为从(子) 表插入数据。

3、修改数据语法:UPDATE table_name set

字段名 1= 值 1, 字段名 2= 值 2,..., 字段名 n= 值 n

[WHERE 条件表达式 ]

四。删除数据

MySQL数据库基础(3)DDL和DML的更多相关文章

  1. Mysql 数据库操作之DDL、DML、DQL语句操作

    Mysql 数据库操作之DDL.DML.DQL语句操作 设置数据库用户名密码 l  Show databases 查看数据库列表信息 l  查看数据库中的数据表信息 ,格式: use 数据库名: sh ...

  2. Mysql数据库基础操作

    Mysql数据库基础操作 在mysql数据库中开启使用tab键补全功能 1)修改主配置文件/etc/mysql/my.cnf(mysql和mariadb目录有些不同) vim /etc/mysql/m ...

  3. MySQL数据库--基础简述

    MySQL数据库--基础简述 1.15.1 MySQL简介 Mysql是最流行的RDBMS(Relational Database Management System:关系数据库管理系统),特别是在W ...

  4. MySQL数据库基础知识及优化

    MySQL数据库基础知识及优化必会的知识点,你掌握了多少? 推荐阅读: 这些必会的计算机网络知识点你都掌握了吗 关于数据库事务和锁的必会知识点,你掌握了多少? 关于数据库索引,必须掌握的知识点 目录 ...

  5. mysql数据库基础的简单操作指南

    最近在学习mysql,本文是做的关于mysql学习的笔记,跟大家分享一下,希望对大家学习mysql知识有所助益.mysql现在几乎已经成了网站建设的主流数据库,很多php网站系统都采用了mysql数据 ...

  6. MySQL数据库基础

    MySQL数据库基础 本文的所有操作是基于CMD环境,MySQL通过在命令行中输入SQL语句对数据库进行操作.配置问题可参考<打通MySQL的操作权限>中的内容,该文算是针对前期的环境配置 ...

  7. Mysql数据库基础学习笔记

    Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ...

  8. mysql数据库基础-2019-9-10(随堂笔记)

    mysql数据库基础 在cmd情况下启动mysql数据库:(配置path环境变量后可忽略) 运行mysql1. 进入mysql路径2. 执行:mysql -uroot -p,安装时的密码 1.数据库& ...

  9. php面试专题---15、MySQL数据库基础考察点

    php面试专题---15.MySQL数据库基础考察点 一.总结 一句话总结: 注意:只写精品 1.mysql定义int(3),那么我存1234就错了么? 不是:无影响:只会影响显示字符的个数:可以为整 ...

  10. PHP面试 MySQL数据库基础

    MySQL数据库基础 MySQL数据类型 整数类型:TINYINT   SMALLINT   MEDIUMINT   INT   BIGINT 属性:UNSIGNED 长度:可以为整数类型指定宽度,列 ...

随机推荐

  1. 4.1 python中调用rust程序

    概述 使用rust-cpython将rust程序做为python模块调用: 通常为了提高python的性能: 参考 https://github.com/dgrunwald/rust-cpython ...

  2. Virtual Destructor

    Deleting a derived class object using a pointer to a base class that has a non-virtual destructor re ...

  3. spring注解-web

    以往进行web项目开发都需要在web.xml配置servlet.filter.listener,在Servlet3.0可以通过注解的方式配置它们(注意:必须用tomcat7以上版本) @WebServ ...

  4. Linux基础命令----smbclient

    smbclient smbclient是一个smb服务器的客户端的管理程序,可以交互式的访问samba服务器. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.Fedora.SU ...

  5. vue2 中的 export import

    vue中组件的引用嵌套通过export import语法链接 Nodejs中的 export import P1.js export default { name: 'P1' } index.js i ...

  6. Javascript 数组对象常用的API

    常用的JS数组对象API ES5及以前的Api ECMAScript5为数组定义了5个迭代方法,每个方法接收两个参数, 一个是每项运行的函数,一个是运行该函数的作用域对象(可选项),传入这些方法的函数 ...

  7. maven高级学习

    上一篇<maven是什么>介绍了最初级的maven学习,今天就趁着周末的大好时光一起学习下maven的高级知识吧. 1.maven工程要导入jar包的坐标,就必须要考虑解决jar冲突 1) ...

  8. 莫烦python教程学习笔记——validation_curve用于调参

    # View more python learning tutorial on my Youtube and Youku channel!!! # Youtube video tutorial: ht ...

  9. 【Linux】【CentOS】【FTP】FTP服务器安装与配置(vsftpd、lftp)

    [初次学习.配置的笔记,如有不当,欢迎在评论区纠正 -- 萌狼蓝天 @ 2021-12-02] 基本概念 FTP访问方式 实体账号:本地账户 来宾账户:guest 匿名登录:anonymous fp ...

  10. Tableau如何绘制瀑布图

    一.将子类别拖至列,利润拖拽至行,类型改为甘特条形图 二 右键利润-快速表计算-汇总(数据会从左向右显示累计汇总) 三.创建计算字段-[利润] 四.将负利润拖拽到大小,利润拖拽到颜色 分析-合计-显示 ...