首页 > 代码库 > python--MySql

python--MySql

数据库概述

数据(Data)

描述事物的符号记录称为数据

在计算机中描述一个事物,就需要抽取这一事物的典型特征,组成一条记录,如:


1 egon,male,18,1999,山东,计算机系,2017,oldboy

单纯的一条记录并没有任何意义,如果我们按逗号作为分隔,依次定义各个字段的意思 


1 name,sex,age,birth,born_addr,major,entrance_time,school #字段
2 egon,male,18,1999,山东,计算机系,2017,oldboy #记录

数据库(DataBase,简称DB)即存放数据的仓库

数据库管理系统(DataBase Management System 简称DBMS)

数据库管理系统有MySQL、Oracle、SQLite、Access、MS SQL Server等,应用场景不同,如mysql主要用于大型门户,例如搜狗、新浪等,oracle主要用于银行、铁路、飞机场等。sql server是微软公司的产品,主要应用于大中型企业,如联想、方正等。

数据库服务器、数据管理系统、数据库、表与记录的关系

数据库服务器:一台计算机(对内存要求比较高)

数据库管理系统:如mysql

数据库:oldboy_stu,就是一个文件夹

表:student,scholl,class_list

记录:1 刘海龙 324245234 22

数据库管理技术的发展历程

mysql介绍

关系型数据库,是指采用了关系模型来组织数据的数据库。可以理解成二维的excel表格,是一一对应关系比如MySQL;

非关系型数据库,是指采用了没有特定关系模型来组织数据的数据库。可以理解成一对多的数据关系,比如MongoDB;

关系型数据库如:Mysql ,Oracle, sql server , db2 , sqlite

非关系型数据库:redis , mongodb

sql语句

sql规范:

<1> 在数据库系统中,SQL语句不区分大小写(建议用大写) 。但字符串常量区分大小写。建议命令大写,表名库名小写;

<2> SQL语句可单行或多行书写,以“;”结尾。关键词不能跨多行或简写。

<3> 用空格和缩进来提高语句的可读性。子句通常位于独立行,便于编辑,提高可读性。

技术分享

<4> 注释:单行注释:--

               多行注释:/*......*/

<5>sql语句可以折行操作

<6> DDL,DML和DCL

  • DDL语句:数据库定义语言,库、表、视图、索引、存储过程,包含create DROP ALTER语句
  • DML语句:数据库操纵语言,包含INSERT,DELETE,UPDATE,SELECT
  • DCL语句:数据库控制语言。包含GRANT,REVOKE等

数据库命名规则: 首字符是字母,其余部分可以是字母、数字、下划线、@、$

不能是关键字,如create database create

最长128位 不能是纯数字

#号代表注释

 

数据库的操作:

  CREATE DATABASE database_name;  ---创建数据库

  DROP DATABASE database_name;  ---删除某一个数据库  

  ALTER DATABASE database_name;  ---修改数据库

  SHOW DATABASES;  ---查看所有的数据库

  SHOW CREATE DATABASE database_name;  ---查看创建数据库信息  

  USE database_name;  ---使用某个数据库(注意:进入到某个数据库后没办法再退回之前状态,但可以通过use进行切换

  SELECT DATABASE();  ---查看当前使用的数据库

     

数据表的操作:

  ---创建一张表

  CREATE TABLE table_name(

    字段名 字段数据类型 [约束] ,

    字段名 字段数据类型 [约束] ,

    字段名 字段数据类型 [约束] ,

    ...

    字段名 字段数据类型 [约束] ,

  )

  约束:

    主键(primary key):非空且唯一

    not null:非空约束

    unique:唯一约束

 

  ---修改表

  增加列(字段)

  ALTER TABLE table_name ADD [column] 列名 类型 [完整性约束条件] [first | after 字段名];

 

  修改一列类型
       ALTER TABLE table_name MODIFY 列名 类型 [完整性约束条件][first|after 字段名];

  

  修改列名
       ALTER TABLE table_name CHANGE [column] 列名 新列名 类型 [完整性约束条件][first|after 字段名];

 

  删除一列
       ALTER TABLE table_name DROP [column] 列名;

 

  修改表名
       RENAME TABLE old_table_name to new_table_name;

 

  修该表所用的字符集    
       ALTER TABLE table_name CHARACTER SET utf8; 或者 ALTER TABLE table_name CHARSET utf8;

 

  ---查看表       

  DESC table_name;
       SHOW TABLES;
       SHOW CREATE TABLE table_name;

 

  ---删除表       

  DROP TABLE table_name   

 

 

    

python--MySql