一、使用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 条件表达式 ]

四。删除数据

最新文章

  1. 【无私分享:ASP.NET CORE 项目实战】目录索引
  2. iOS导航栏标题颜色
  3. PyCharm2016.2专业版注册码
  4. 广州项目实施步骤II_练习配置HaProxy的重定向负载均衡
  5. 为什么Wireshark无法解密HTTPS数据
  6. [设计模式]NetworkManagementService中的观察者模式
  7. Dao 处理
  8. 【Spring源码分析】Bean加载流程概览
  9. c#使用 Newtonsoft.Json 将entity转json时,忽略为null的属性
  10. Linux下Power Management开发总结
  11. 无向图的 DFS 和 BFS实现 (以邻接表存储的图)
  12. JAVA类与类之间的全部关系简述+代码详解
  13. [转]java实现,输入数据,空格继续,回车结束输入
  14. [转]Android精品开源项目整理
  15. CentOS7使用打开关闭防火墙与端口
  16. java.lang.NoSuchMethodError: org.json.JSONArray.iterator()Ljava/util/Iterator 阿里云短信
  17. 由ConcurrentLinkedQueue扯到线程安全 待整理
  18. QT安装在VS2008中的方法
  19. PHPStorm 忽略 node_modules 目录
  20. 字符编码ascii、unicode、utf-­‐8、gbk 的关系

热门文章

  1. 爬虫系列:存储 CSV 文件
  2. oracle中的数组
  3. Linux学习 - 网络命令
  4. Git命令行演练-团队开发
  5. Mysql B-Tree和B+Tree索引
  6. 查询表名和表备注(中文名) 及 dba_tables、all_tables和user_tables的区别
  7. idea 无法创建子目录
  8. 统计图—柱状图可视化(python)
  9. 修复 Edge 浏览器 1Password 插件 Ctrl+Shift+X 弹出快捷键失效
  10. 缓存系统redis操作、mongdb、memeche