一、数据库

关系型数据库

常见的关系型数据库:SQL Server、MySql、MariaDB、SQLite、ORACLE、PostgreSQL等

非关系型数据库

常见的非关系型数据看:MongoDB、HBASE、redis、CouchDB、Neo4j、Cassandra、memcached

非关系型数据库又分为:1. 文档型、 2.key-value型、3.列式数据库、图形数据库

二、 MySql

1. 什么是mysql

典型的关系型数据库 ([Mysql](https://baike.baidu.com/item/mySQL/471251?fr=aladdin))

2. mysql 基础

(1) 安装配置

~~~~ 安装社区版 5.7

(2)图形化管理工具

phpAdmin 、Navticat

3.语法基础

DDL (Data Define Language)

CREATE 创建表/数据库

ALTER创建表/数据库

DROP删除表/数据库

DML (Data Manage Language)

INSERT

UPDATE

DELETE

SELECT

基础:

创建数据库和使用数据库:

- CREATE DATABASE mydatabease ;

- USE mydatabase;

查看已有的数据库:

- SHOW DATABASES;

创建学生表格:

CREATE TEABLE `students` (

`id` INT NOT NULL AUTO_INCRMENT,

`name` VARCHAR(200) NOT NULL

)

常见类型:

- int、char、varchar、datetime

- char、varchar都表示字符串,但char必须占用一定空间,例如200,char一定占满200空间,不管它实际多少字符

- 但varchar只占据实际的字符数量的空间,只表示上限,更加节省空间,一般推荐varchar。

- datetime表示 日期+时间

分析学生表的字段:

id: 学生的ID

name: 学生的名称

nickname:学生的昵称

sex:性别

in_time:入学时间

-- id: 学生的ID

-- name: 学生的名称

-- nickname:学生的昵称

-- sex:性别

-- in_time:入学时间

CREATE TABLE `stuents` (

`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

`name` VARCHAR(20) NOT NULL,

`nickname` VARCHAR(20) NULL,

`sex` CHAR(1) NULL,

`in_time` DATETIME NULL

);

插入数据

语法:INSERT INTO table_references VALUE(S)…

创建表格时指定编码

CREATE TABLE `stuents2` (

`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

`name` VARCHAR(20) NOT NULL,

`nickname` VARCHAR(20) NULL,

`sex` CHAR(1) NULL,

`in_time` DATETIME NULL

)DEFAULT CHARSET 'UTF8'; #指定编码

插入一条数据

INSERT INTO `stuents2` VALUE (2,'张三','三丰','男',now());

指定插入字段的名称(使得能自增)不需指定id

INSERT INTO `stuents2` (`name`,`nickname`,`sex`,`in_time`) VALUE ('李四','四小','男',now());

tips : 字段名称使用反引号" ` “, 实际内容使用单引号” ’ "

插入多行 :

INSERT INTO `stuents2` (`name`,`nickname`) VALUES

('李四1','四小x'),

('李四2','四小2'),

('李四3','四小3'),

('李四4','四小4')

;

查询数据

语法格式: 有顺序要求

SELECT

select_expr,...

FROMtable_references

[WHERE where_definition]

[GROUP_BY {col_name|expr|position}]

[HAVING where_definition]

[ORRDER_BY {col_name|expr|position}

[ASE|DESC],...]

[LIMIT {[offset,] row_count}]

SELECT `id`,`name`,`nickname` FROM `stuents2` WHERE `sex`='男' ORDER BY DESC LIMIT 1,2;

修改数据

语法:

UPDATE table_references

SET col_name1 = expr1 [,col_name2 = expr2]

[WHERE where_definition]

修改性别

UPDATE `students2` SET `sex`='女' WHERE `sex`='男';

修改时必须注意是否要添加WHERE条件;

如果不添加WHERE,将会修改相应的全部内容。

谨慎操作

删除数据

语法: 必须注意是否要限定删除范围

DELETE FROM table_name

[WHERE where_definition]

DELETE FROM `students2` WHERE `sex`='男';

其他语法

比较不常用的:

新建索引(CREATE INDEX)

修改表(ALTER TABLE)

删除数据库、表、索引、视图等(DROP)

实例1

设计新闻表

-- ID:新闻的唯一标识

-- title:新闻标题

-- types:新闻类型

-- content:新闻内容

-- created_at : 发布时间

-- image:缩略图

-- author:作者

-- view_count:浏览量

-- is_valid:删除标记

操作:

CREATE TABLE `news`(

`id` INT NOT NULL AUTO_INCREMENT,

`title` VARCHAR(200) NOT NULL,

`types` VARCHAR(20) NOT NULL,

`content` VARCHAR(2000) NOT NULL,

`created_at` DATETIME NULL,

`image` VARCHAR(300) NULL,

`author` VARCHAR(20) NULL,

`view_count` INT DEFAULT 0,

`is_valid` SMALLINT DEFAULT 1 , # 默认值,1为有效新闻,0为无效新闻

PRIMARY KEY(`id`)

)DEFAULT CHARSET 'UTF8';

** 别忘记语法格式、关键字

** LIMIT number1,number2 用法笔记

number1 是偏移量,从0开始

number2是每页显示的数量

假如要显示第5页的内容,并且每页显示5条。则 number1=4 * number2 + 1 = 4 * 5+1=21

python创建数据库表_Python 操作数据库(1)SQL基础相关推荐

  1. 删除python的注册表_Python操作注册表详细步骤介绍

    Python操作注册表步骤之1.打开注册表 对注册表进行操作前,必须打开注册表.在Python中,可以使用以下两个函数:RegOpenKey和RegOpenKeyEx.其函数原型分别如下所示. Reg ...

  2. python访问注册表_Python 操作注册表

    通过Python操作注册表有两种方式,第一种是通过Python的内置模块 _winreg:另一种方式就是Win32 Extension For Python 的win32api模块,但是需要进行额外的 ...

  3. python数据库查询优化_Python操作数据库-查询优化

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  4. 数据库MySQL相关操作||创建数据库、显示所有数据库、切换数据库、显示数据库下的数据库表、删除数据库

    数据库MySQL相关操作||创建数据库.显示所有数据库.切换数据库.显示数据库下的数据库表.删除数据库 1,创建数据库 create databases mydb: 记得加:(分号) 2,显示所有数据 ...

  5. SQL之数据库表的操作

    #SQL之数据库表的操作 表的创建 表的修改 表的约束条件的添加 表的插入 表的更新 表数据的删除 表的清空 以上的表的操作皆可通过sql server management studio 图形化工具 ...

  6. oracle表的历史数据转储过程,C#连接Oracle数据库通过存储过程操作数据库 - cuizm的专栏 - CSDN博客...

    C#连接Oracle数据库通过存储过程操作数据库 收藏 此文于2011-06-07被推荐到CSDN首页 此文于2011-06-08被推荐到CSDN首页 如何被推荐? 之前笔者一直用C#连接SQL Se ...

  7. MySQL数据库(3)_MySQL数据库表记录操作语句

    附: MYSQL5.7版本sql_mode=only_full_group_by问题1.查询当前sql_mode: select @@sql_mode2.查询出来的值为:set @@sql_mode ...

  8. 第二百七十九节,MySQL数据库-pymysql模块操作数据库

    MySQL数据库-pymysql模块操作数据库 pymysql模块是python操作数据库的一个模块 connect()创建数据库链接,参数是连接数据库需要的连接参数 使用方式: 模块名称.conne ...

  9. Java数据库开发与应用之MySQL数据库、JDBC操作数据库、C3P0数据库连接池,Java反射等

    MySQL数据库,JDBC接口,MyBatis框架等,掌握的数据的存放和管理. Java数据库开发基础,介绍MySQL数据库.JDBC操作数据库.C3P0数据库连接池,Java反射等内容,进行油画商城 ...

最新文章

  1. 云计算军事运用有啥特点
  2. 微信JS-SDK之图像接口开发详解
  3. 七步确定一个优化项目的难易度
  4. 解决360等等浏览器兼容模式解析不兼容代码
  5. 关于小程序的一些坑的总结
  6. Html5与CSS3权威指南 百度云下载
  7. 开发环境和运行环境_内网安全运行环境
  8. mysql查询语句出现sending data耗时解决
  9. 心情随笔——2012121
  10. ios 团购信息客户端demo(二)
  11. 百度文库如何免费下载
  12. FTP测试手机软件画画教程图片,「推荐」手机、平板绘画党福利!10个非常好用的绘画App赶紧试试...
  13. Android强大的控件——RecyclerView
  14. speedoffice表格如何全选表格
  15. 【技术白皮书】第一章:基于深度学习的文本检测与识别的技术背景
  16. 【Excel】Excel无序数据模糊查询
  17. 视频片段怎么做成gif图?快试试这2种方法
  18. C语音实现简单的密码登录(简单逻辑)
  19. java8之localDateTime, ZoneId, Instant使用
  20. 冷池机房给数据中心带来哪些好处

热门文章

  1. Leetcode:892. 三维形体的表面积(Java)
  2. 动态规划--Leetcode121.买卖股票的最佳时机
  3. java去掉mongodb日志_MongoDB日志文件过大的解决方法 清理
  4. 防止Linux库so中的接口冲突
  5. .net函数查询_SQL查询语句总是先执行SELECT?你们都错了!
  6. QT学习笔记(九):遍历容器-迭代器(iterators)
  7. dataframe常用操作总结
  8. 大数据生态圈常用组件(二):概括介绍、功能特性、适用场景
  9. CompletableFuture详解~applyToEither
  10. SpringBoot 自带工具类~断言