首页 > IT职业 > IT图书 > Python 操作数据库(1)SQL基础
典型的关系型数据库 ([Mysql](https://baike.baidu.com/item/mySQL/471251?fr=aladdin))
(1) 安装配置
~~ ~~ 安装社区版 5.7
(2)图形化管理工具
phpAdmin 、Navticat
创建数据库和使用数据库:
- 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:入学时间
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());
INSERT INTO `stuents2` (`name`,`nickname`,`sex`,`in_time`) VALUE ('李四','四小','男',now());
INSERT INTO `stuents2` (`name`,`nickname`) VALUES
('李四1','四小x'),
('李四2','四小2'),
('李四3','四小3'),
('李四4','四小4')
;
语法格式: 有顺序要求
SELECT
select_expr,...
FROM table_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`='男';
语法: 必须注意是否要限定删除范围
DELETE FROM table_name
[WHERE where_definition]
DELETE FROM `students2` WHERE `sex`='男';
比较不常用的:
-- 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';
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2435/viewspace-2823127/ ,如需转载,请注明出处,否则将追究法律责任。