python创建数据库表_Python 操作数据库(1)SQL基础
一、数据库
关系型数据库
常见的关系型数据库: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基础相关推荐
- 删除python的注册表_Python操作注册表详细步骤介绍
Python操作注册表步骤之1.打开注册表 对注册表进行操作前,必须打开注册表.在Python中,可以使用以下两个函数:RegOpenKey和RegOpenKeyEx.其函数原型分别如下所示. Reg ...
- python访问注册表_Python 操作注册表
通过Python操作注册表有两种方式,第一种是通过Python的内置模块 _winreg:另一种方式就是Win32 Extension For Python 的win32api模块,但是需要进行额外的 ...
- python数据库查询优化_Python操作数据库-查询优化
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- 数据库MySQL相关操作||创建数据库、显示所有数据库、切换数据库、显示数据库下的数据库表、删除数据库
数据库MySQL相关操作||创建数据库.显示所有数据库.切换数据库.显示数据库下的数据库表.删除数据库 1,创建数据库 create databases mydb: 记得加:(分号) 2,显示所有数据 ...
- SQL之数据库表的操作
#SQL之数据库表的操作 表的创建 表的修改 表的约束条件的添加 表的插入 表的更新 表数据的删除 表的清空 以上的表的操作皆可通过sql server management studio 图形化工具 ...
- oracle表的历史数据转储过程,C#连接Oracle数据库通过存储过程操作数据库 - cuizm的专栏 - CSDN博客...
C#连接Oracle数据库通过存储过程操作数据库 收藏 此文于2011-06-07被推荐到CSDN首页 此文于2011-06-08被推荐到CSDN首页 如何被推荐? 之前笔者一直用C#连接SQL Se ...
- MySQL数据库(3)_MySQL数据库表记录操作语句
附: MYSQL5.7版本sql_mode=only_full_group_by问题1.查询当前sql_mode: select @@sql_mode2.查询出来的值为:set @@sql_mode ...
- 第二百七十九节,MySQL数据库-pymysql模块操作数据库
MySQL数据库-pymysql模块操作数据库 pymysql模块是python操作数据库的一个模块 connect()创建数据库链接,参数是连接数据库需要的连接参数 使用方式: 模块名称.conne ...
- Java数据库开发与应用之MySQL数据库、JDBC操作数据库、C3P0数据库连接池,Java反射等
MySQL数据库,JDBC接口,MyBatis框架等,掌握的数据的存放和管理. Java数据库开发基础,介绍MySQL数据库.JDBC操作数据库.C3P0数据库连接池,Java反射等内容,进行油画商城 ...
最新文章
- 云计算军事运用有啥特点
- 微信JS-SDK之图像接口开发详解
- 七步确定一个优化项目的难易度
- 解决360等等浏览器兼容模式解析不兼容代码
- 关于小程序的一些坑的总结
- Html5与CSS3权威指南 百度云下载
- 开发环境和运行环境_内网安全运行环境
- mysql查询语句出现sending data耗时解决
- 心情随笔——2012121
- ios 团购信息客户端demo(二)
- 百度文库如何免费下载
- FTP测试手机软件画画教程图片,「推荐」手机、平板绘画党福利!10个非常好用的绘画App赶紧试试...
- Android强大的控件——RecyclerView
- speedoffice表格如何全选表格
- 【技术白皮书】第一章:基于深度学习的文本检测与识别的技术背景
- 【Excel】Excel无序数据模糊查询
- 视频片段怎么做成gif图?快试试这2种方法
- C语音实现简单的密码登录(简单逻辑)
- java8之localDateTime, ZoneId, Instant使用
- 冷池机房给数据中心带来哪些好处
热门文章
- Leetcode:892. 三维形体的表面积(Java)
- 动态规划--Leetcode121.买卖股票的最佳时机
- java去掉mongodb日志_MongoDB日志文件过大的解决方法 清理
- 防止Linux库so中的接口冲突
- .net函数查询_SQL查询语句总是先执行SELECT?你们都错了!
- QT学习笔记(九):遍历容器-迭代器(iterators)
- dataframe常用操作总结
- 大数据生态圈常用组件(二):概括介绍、功能特性、适用场景
- CompletableFuture详解~applyToEither
- SpringBoot 自带工具类~断言