# 数据库:存储数据的仓库
# 数据库更多的是安全、备份
# 客户端取服务端的数据实际都是从服务端的内存中抓取数据
# 数据库管理系统软件
# 数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,
# 用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,
# 以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,
# 数据库管理员也通过dbms进行数据库的维护工作。
# 它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,
# 修改和询问数据库。
# 大部分DBMS提供数据定义语言DDL(Data Definition Language)和数据操作语言DML(Data Manipulation Language),
# 供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。
# 数据库管理系统是数据库系统的核心,是管理数据库的软件。数据库管理系统就是实现把用户意义下抽象的逻辑数据处理,
# 转换成为计算机中具体的物理数据处理的软件。有了数据库管理系统,用户就可以在抽象意义下处理数据,
# 而不必顾及这些数据在计算机中的布局和物理位置。
# 常见的数据库管理软件:甲骨文的oracle,IBM的db2,sql server, Access,Mysql(开源,免费,跨平台).
# ————————————————————————————————————————#
# 数据库系统数据库系统DBS(Data Base System,简称DBS)通常由软件、数据库和数据管理员组成。
# 其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数据库管理系统统一管理,
# 数据的插入、修改和检索均要通过数据库管理系统进行。数据管理员负责创建、监控和维护整个数据库,
# 使数据能被任何有权使用的人有效使用。
# ————————————————————————————————————————#
# -- 1.创建数据库(在磁盘上创建一个对应的文件夹)
# create database[ if not exists] db_name[charactersetxxx]
# -- 2.查看数据库showdatabases;查看所有数据库
# show create database db_name;
# 查看数据库的创建方式
# -- 3.修改数据库
# alter database db_name[character set xxx]
# -- 4.删除数据库
# drop database[ if exists] db_name;
# -- 5.使用数据库 切换数据库
# use db_name;
# -- 注意:进入到某个数据库后没办法再退回之前状态,但可以通过use进行切换
# 查看当前使用的数据库
# select database();
# ————————————————————————————————————————#
# 主键两个特性:非空且唯一>>>not null and unique
# 数据库的数据类型分为三种:1.数字类型;2.字符串类型;3.时间类型
# BLOB:二进制数据
# TEXT:文本数据
# -- 1.创建表(类似于一个excel表)
#
# create table tab_name(
# field1 type[完整性约束条件],
# field2 type,
# ...
# fieldn type
# )[character set xxx];
#
# -- 创建一个员工表employee
#
# create table employee(
# id int primary key auto_increment ,
# name varchar(20),
# gender bit default 1, -- gender char(1) default 1 ----- 或者 TINYINT(1)
# birthday date,
# entry_date date,
# job varchar(20),
# salary double(4,2) unsigned,
# resume text -- 注意,这里作为最后一个字段不加逗号
# );
#
#
# /* 约束:
# primary key (非空且唯一) :能够唯一区分出当前记录的字段称为主键!
# unique
# not null
# auto_increment 主键字段必须是数字类型。
# 外键约束 foreign key */
# -- 2.查看表信息
# desc tab_name 查看表结构
# show columns from tab_name 查看表结构
# show tables 查看当前数据库中的所有的表
# show create table tab_name 查看当前数据库表建表语句
# -- 3.修改表结构
# -- (1)增加列(字段)
# alter table tab_name add [column] 列名 类型[完整性约束条件][first|after 字段名];
# alter table user add addr varchar(20) not null unique first/after username;
# #添加多个字段
# alter table users2
# add addr varchar(20),
# add age int first,
# add birth varchar(20) after name;
# -- (2)修改一列类型
# alter table tab_name modify 列名 类型 [完整性约束条件][first|after 字段名];
# alter table users2 modify age tinyint default 20;
# alter table users2 modify age int after id;
# -- (3)修改列名
# alter table tab_name change [column] 列名 新列名 类型 [完整性约束条件][first|after 字段名];
# alter table users2 change age Age int default 28 first;
# -- (4)删除一列
# alter table tab_name drop [column] 列名;
# -- 思考:删除多列呢?删一个填一个呢?
# alter table users2
# add salary float(6,2) unsigned not null after name,
# drop addr;
# -- (5)修改表名
# rename table 表名 to 新表名;
# -- (6)修该表所用的字符集
# alter table student character set utf8;
# -- 4.删除表
# drop table tab_name;
# ---5 添加主键,删除主键
# alter table tab_name add primary key(字段名称,...)
# alter table users drop primary key;
# eg:
# mysql> create table test5(num int auto_increment);
# ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
# create table test(num int primary key auto_increment);
# -- 思考,如何删除主键?
# alter table test modify id int; -- auto_increment没了,但这样写主键依然存在,所以还要加上下面这句
# alter table test drop primary key;-- 仅仅用这句也无法直接删除主键
# -- 唯一索引
# alter table tab_name add unique [index|key] [索引名称](字段名称,...)
# alter table users add unique(name)-- 索引值默认为字段名show create table users;
# alter table users add unique key user_name(name);-- 索引值为user_name
# -- 添加联合索引
# alter table users add unique index name_age(name,age);#show create table users;
# -- 删除唯一索引
# alter table tab_name drop {index|key} index_name
# ————————————————————————————————————————#

Pyhton学习——Day46的更多相关文章

  1. Pyhton学习——Day26

    #多态:多态指的是一类事物有多种形态# import abc# class Animal(metaclass = abc.ABCMeta):# 同一类事物:动物# @abc.abstractclass ...

  2. pyhton 学习

    官方学习文档 https://docs.python.org/3/tutorial/

  3. 20190320_head first pyhton学习笔记之构建发布

    1.把代码nester.py放入文件夹nester中,在文件夹中再新建一个setup.py文件,文件内容如下: from distutils.core import setup setup( name ...

  4. Pyhton学习——Day2

    Python开发IDE(工具)Pycharm.eclipse1.循环while 条件 #循环体 #条件为真则执行 #条件为假则执行break用于退出所有循环continue用于退出当前循环 2.Pyc ...

  5. Pyhton学习——Day28

    #上下文协议:文件操作时使用with执行# with open('a.txt','w',encoding='utf-8') as f1:# with语句,为了让一个对象兼容with语句,必须在这个对象 ...

  6. Pyhton学习——Day27

    # hasattr(obj,'name')-->obj.name# getattr(obj,'name',default = 'xxx')--->obj.name# setattr(obj ...

  7. Pyhton学习——Day25

    #面向对象的几个方法#1.静态方法@staticmethod,不能访问类属性,也不能访问实例属性,只是类的工具包#2.类方法:@classmethod,在函数属性前加上类方法,显示为(cls)代表类, ...

  8. Pyhton学习——Day24

    # #面向对象设计:# def dog(name,gender,type):# def jiao(dog):# print('One Dog[%s],wfwfwf'%dog['name'])# def ...

  9. Pyhton学习——Day23

    #re模块方法:findall search#findall:返回所有满足匹配条件的数值,放在列表里#search : #函数会在字符串内查找模式匹配,只到找到第一个匹配然后返回一个包含匹配信息的对象 ...

随机推荐

  1. 网络教程(7)OSI模型的低层模型

    OSI Model——Open System Interconnection Model 开放系统互联模型

  2. POJ2406A- Power Strings

    Given two strings a and b we define a*b to be their concatenation. For example, if a = "abc&quo ...

  3. (0)资料官网【从零开始学Spring Boot】

    Spring Boot官网:http://projects.spring.io/spring-boot/ Eclipse官网:http://www.eclipse.org/ Maven官网:http: ...

  4. Elasticsearch 7.0 正式发布,盘他!

    Elastic{ON}北京分享了Elasticsearch7.0在Speed,Scale,Relevance等方面的很多新特性. 比快更快,有传说中的那么牛逼吗?盘他! 通过本文,你能了解到: Ela ...

  5. 对Java线程安全与不安全的理解

    当我们查看JDK API的时候,总会发现一些类说明写着,线程安全或者线程不安全,比如说到StringBuilder中,有这么一句,"将StringBuilder 的实例用于多个线程是不安全的 ...

  6. 判断webservice是否可用

    在.net中验证WebService的Url有效并且验证服务可用: 需要用到win32下的组件,比如Microsoft XML, v5.0 测试程序具体如下:建一个项目,在你的引用中添加COM---找 ...

  7. GA求解TSP

    遗传算法中包含了如下5个基本要素: (1)对参数进行编码: (2)设定初始种群大小: (3)适应度函数的设计: (4)遗传操作设计: (5)控制参数设定(包括种群大小.最大进化代数.交叉率.变异率等) ...

  8. 关于心理的二十五种倾向(查理·芒格)-2

    5)避免不一致倾向避免不一致倾向实际上就是人天生就害怕改变.相同是由于人类大脑的生理机制决定的.由于这样的倾向能够带来节省运算空间和能量的优点.这样的抗改变模式的形成,可能的原因例如以下:A) 迅速作 ...

  9. IP协议解读(三)

    今天我们来介绍网络层中的ICMP协议 ICMP报文格式 图一: 从图片上我们能够分析出.前三位的字段都是固定的.8位类型字段,8位代码字段.16位校验和字段.其它字段因ICMP报文类型不同而不同.8位 ...

  10. 在C 函数中保存状态:registry、reference和upvalues

    在C函数中保存状态:registry.reference和upvalues      C函数能够通过堆栈来和Lua交换数据,但有时候C函数须要在函数体的作用域之外保存某些Lua数据.那么我们想到全局变 ...