Python学习笔记020——数据库基本操作
本数据库的操作是Linux虚拟机平台下进行的
1 启动和链接MySQL服务
1.1 服务端
(1)查看服务状态
sudo /etc/init.d/mysql stauts
(2)启动服务端
sudo /etc/init.d/mysql start
(3)停止服务端
sudo /etc/init.d/mysql stop
(4)重启服务
sudo /etc/init.d/mysql restart/reload
1.2 客户端连接服务端
命令格式
mysql -h主机名 -u用户 -p密码
如果是本地服务器为localhost,则
mysql -hlocalhost -uroot -p123456
一般而言,当链接本地服务器时,可以省略 -h 选项
服务器的数据库密码为tarena
mysql -uroot -p123456
注意:
数据库密码为tarena
对于 -p密码 而言 p 后面如果有空格,则系统会将空格一并作为密码读入。
2 SQL命令的使用规则
(1)每条命令必须以逗号;结尾
(2)SQL命令不区分大小写
(3)使用 \c 终止命令的执行,\c 必须写在语句结束的逗号前面,
3 SQL数据库基本命令——库的管理
3.1 库的命名规则
(1)可以使用字母、_和数字,但不能使用纯数字
(2)库名不能使用特殊字符或MySQL的关键字
(3)库名区分大小写
(3)库名具有唯一性
3.2 库的基本操作
(1)查看库:
show databases
(2)创建库:
create database 库名 default charset=utf8
(3)查看创建库的语句(含字符集):
show create database 库名

(4)查看当前所在库:
select database()

(5)切换库:
use 库名
(6)查看库中已有的表
show tables

(7)删除库
drop database 库名
3 SQL数据库基本命令——表的管理
3.1 表的命名规则
表的命名规则同库的命名规则一样
3.2 表的基本操作
(1)创建表
create table 表名( 字段名 数据类型 字段名 数据类型 ... ... )default charset=utf8
备注:创建表时可以不指定字符集,但系统会自动分配 DEFAULT CHARSET=latin1 字符集,在该字符集不识别汉字。
(2)查看创建表的语句
show create table 表名
备注:该查询条件可以显示数据表引擎、数据表字符集( ENGINE= DEFAULT CHARSET=latin1 )。
(3)查看表结构
desc 表名

(4)删除表
drop table 表名
5 SQL数据库基本命令——表记录的管理
5.1 表记录的命名规则
(1)在表中插入记录
insert into 表名[(字段名1 [, 字段名2, ...)] values (值1 [,值2, ...])
如果插入值value与表中字段数量相等,则字段名列表(字段名1 [, 字段名2, ...)可以省略,如果不想等则不可省略。
当省略时需对应匹配,否则value值在匹配时与预期不一致。
(2)查看表记录
select * from 表名
此时显示表中所有字段名对应的value值
当仅想检索表中一个或几个字段名对应的value值时,则
select 字段1,字段2,... from 表名
即可显示字段1,字段2...对应的值value
(3)删除表记录
delete from 表名 where 条件
注意:一定要在 delete 语句后面添加where条件语句,如果没有where语句将会将所有表记录全部删除。
(4)更新表记录
update 表名 set 字段名=值1,... where 条件
注意:update语句如果无where语句则将该表中所有该字段的值更改。
6 SQL数据库基本命令——表字段的操作
6.1 表字段的命名规则
参考:数据库表字段命名规范 中的第三章节
6.2 表字段的操作
表字段的操作一般为: alter table 表名 执行动作
(1)修改表名
alter table 表名 rename 新表名
(2)修改字段名
alter table 表名 change 旧名 新名 数据类型
(3)向表中添加一个字段
alter table 表名 add 字段名 数据类型; #在表尾追加字段 alter table 表名 add 字段名 数据类型 first; #在表首行追加字段 alter table 表名 add 字段名 数据类型 after 字段名; #在表指定位置处追加字段
(4)删除字段
alter table 表名 drop 字段名
(5)修改字段的数据类型
alter table 表名 modify 字段名 数据类型
6 客户端把数据存储到数据库服务器上的过程
(1)连接到数据库服务器:mysql -h主机名localhost -u用户名root -p密码123456
(2)选择库:use 库名
(3)创建表/修改表:create/update
(4)断开与数据库服务器的链接:exit、quit、\q
备注:
(1)所有的数据都是以文件的形式存放在数据库目录下
(2)在linux目录下的数据库文件存放目录:/var/lib/mysql
在数据库中 \G 会将表结构的显示风格。将来源列显示
mysql> desc c_table;
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | char(20) | YES | | NULL | |
+-------+----------+------+-----+---------+-------+
2 rows in set (0.06 sec)
mysql> desc c_table\G;
*************************** 1. row ***************************
Field: id
Type: int(11)
Null: YES
Key:
Default: NULL
Extra:
*************************** 2. row ***************************
Field: name
Type: char(20)
Null: YES
Key:
Default: NULL
Extra:
2 rows in set (0.10 sec)
ERROR:
No query specified

以上两个链接非常好!
Python学习笔记020——数据库基本操作的更多相关文章
- Python学习笔记020——数据库知识概述
数据库概述 1 提供数据库的软件都有哪些 MySQL.SQL_Server.Oracle.DB2.Mariadb.MongoDB ... (1)是否开源 开源软件:MySQL.Mariadb.Mong ...
- Python学习笔记020——数据库中的数据类型
1 数值类型 数值类型分为有符号signed和无符号unsigned两种. 1.1 整型 int (1)bigint 极大整型(8个字节) 范围 :-2**64 ~ 2**64 - 1 -922337 ...
- MySQL 5.6学习笔记(数据库基本操作,查看和修改表的存储引擎)
1. 数据库基本操作 1.1 查看数据库 查看数据库列表: mysql> show databases; +--------------------+ | Database | +------ ...
- python学习笔记——mongodb数据库
1 概述 1.1 文件管理阶段 优点:可以长期保存 能存储大量数据 缺点:没有结构化的组织 查找不方便 数据容易冗余 1.2 数据库管理阶段 有文件存储的优点,同时解决了文件存储的问题 缺点 : 操作 ...
- Python学习笔记 使用数据库SQlite Mysql
SQLite是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用当中, 甚至在IOS和Android的APP中都可以集成 Python就内 ...
- 10 python学习笔记-操作数据库(十)
在功能.接口测试中,常常需要通过数据库的操作,来准备数据.检测环境及核对功能.接口的数据库操作是否正确. 在自动化测试中,就需要我们用代码连接数据库自动完成数据准备. 环境检查及数据库断言的功能.数据 ...
- Python学习笔记——MySQL的基本操作(2)
1 运算符操作(配合查.修.删操作) 数据库的语法结构 查:select * from 表名 where 字段名 运算符 数字/字符; 改:update 表名 set 字段名=值,... wher ...
- Python学习笔记_Mysql数据库、Excel
一.操作mysql数据库 import pymysql # 1.连上数据库:账号,密码,ip,端口号,数据库 # 2.建立游标(去数据库拿东西的工人) # 3.执行sql # 4.获取结果 # 5.关 ...
- python学习笔记--Django入门四 管理站点--二
接上一节 python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...
随机推荐
- C++类模板的声明和定义为什么要放在同一个文件
不是只能放在.h里面,但是推荐放在.h里面.STL模板实现全部是放在.h里面的.------------------编译能通过.1)参与编译的只是.cpp文件,不会报错的原因,是因为它能在.h里面找到 ...
- 几个不同版本的framework改进
一些主要的演变过程及改进,还有很多部分不可能一一列出,下面是从1.1到4.0的一些主要改进: 一..NET Framework 1.1版本 1.ASP.NET移动控件 2.ADO.NET的改动 添加S ...
- poj 3131 Cubic Eight-Puzzle 双向广搜 Hash判重
挺不错的题目,很锻炼代码能力和调试能力~ 题意:初始格子状态固定,给你移动后格子的状态,问最少需要多少步能到达,如果步数大于30,输出-1. 由于单向搜索状态太多,搜到二十几就会爆了,所以应该想到双向 ...
- C++分布式实时应用框架——系统管理模块
一个分布式实时系统集群动辄上百台机器,集群的规模已经限定这将是一个”封闭“的系统.你不可能再一台台去操作上百台机器,传统的人工运维方式早已不能满足当下需要,所有对集群或者集群中某个节点的操作都必需通过 ...
- mybatis 针对SQL Server 的 主键id生成策略
SQL Server中命令: select newId() ,可以得到SQL server数据库原生的UUID值,因此我们可以将这条指令写到 Mybatis的主键生成策略配置selectKey中. ...
- jquery选择器用法笔记(第一部分)
由于我在项目中用jquery比较多,而且觉得jquery真的很不错,尤其是其灵活高效的选择器更是令人无法忘怀.那么,今天就来写一篇非常基础的关于jquery选择器的文章,路过的朋友可以收藏以作参考. ...
- 强连通tarjan模版
#include<stdio.h> #include<iostream> #include<math.h> #include<queue> #inclu ...
- IIS-将iis直接指向.net代码会出现错误
这是由于没有bin文件导致的,将bin文件加上之后就可以了.
- [Node.js]26. Level 5 : Route rendering
Instead of just writing out the quote to the response, instead render the quote.ejs template, passin ...
- Ejb in action(一)——开篇介绍
从今天開始.我们共同来学习JavaEE中一个很重要的规范:Ejb. 既然您已经找到了这篇文章.就说明您至少已经对分布式开发有个大体上的概念了,之前没了解过也没关系,正好通过咱们的共同学习,一起来了解它 ...