Pyhton学习——Day46
# 数据库:存储数据的仓库
# 数据库更多的是安全、备份
# 客户端取服务端的数据实际都是从服务端的内存中抓取数据
# 数据库管理系统软件
# 数据库管理系统(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的更多相关文章
- Pyhton学习——Day26
#多态:多态指的是一类事物有多种形态# import abc# class Animal(metaclass = abc.ABCMeta):# 同一类事物:动物# @abc.abstractclass ...
- pyhton 学习
官方学习文档 https://docs.python.org/3/tutorial/
- 20190320_head first pyhton学习笔记之构建发布
1.把代码nester.py放入文件夹nester中,在文件夹中再新建一个setup.py文件,文件内容如下: from distutils.core import setup setup( name ...
- Pyhton学习——Day2
Python开发IDE(工具)Pycharm.eclipse1.循环while 条件 #循环体 #条件为真则执行 #条件为假则执行break用于退出所有循环continue用于退出当前循环 2.Pyc ...
- Pyhton学习——Day28
#上下文协议:文件操作时使用with执行# with open('a.txt','w',encoding='utf-8') as f1:# with语句,为了让一个对象兼容with语句,必须在这个对象 ...
- Pyhton学习——Day27
# hasattr(obj,'name')-->obj.name# getattr(obj,'name',default = 'xxx')--->obj.name# setattr(obj ...
- Pyhton学习——Day25
#面向对象的几个方法#1.静态方法@staticmethod,不能访问类属性,也不能访问实例属性,只是类的工具包#2.类方法:@classmethod,在函数属性前加上类方法,显示为(cls)代表类, ...
- Pyhton学习——Day24
# #面向对象设计:# def dog(name,gender,type):# def jiao(dog):# print('One Dog[%s],wfwfwf'%dog['name'])# def ...
- Pyhton学习——Day23
#re模块方法:findall search#findall:返回所有满足匹配条件的数值,放在列表里#search : #函数会在字符串内查找模式匹配,只到找到第一个匹配然后返回一个包含匹配信息的对象 ...
随机推荐
- 洛谷P2296 寻找道路_简单BFS
Code: #include<cstdio> #include<queue> #include<algorithm> using namespace std; co ...
- windows mongodb启动
D:\MongoDB\bin\mongod.exe --service --dbpath D:\MongoDB\data --logpath=D:\MongoDB\logs\mongodb.log - ...
- Python笔记5----集合set
1.集合的概念:无序不重复 分为可变集合(set())和不可变集合(frozenset)两种 2.创建集合 aset=set('hello') >>aset={'h','e','l','o ...
- kernel相关前沿技术了解
Intel MPX https://en.wikipedia.org/wiki/Intel_MPX SPDK http://aidaiz.com/spdk/ TCMalloc http://goog- ...
- 数据结构(3) 第三天 栈的应用:就近匹配/中缀表达式转后缀表达式 、树/二叉树的概念、二叉树的递归与非递归遍历(DLR LDR LRD)、递归求叶子节点数目/二叉树高度/二叉树拷贝和释放
01 上节课回顾 受限的线性表 栈和队列的链式存储其实就是链表 但是不能任意操作 所以叫受限的线性表 02 栈的应用_就近匹配 案例1就近匹配: #include <stdio.h> in ...
- jquery.lazyload滚动不起作用
昨天同事在开发图片懒加载功能时用到了lazyload,使用相当标准,然而结果却不如人意,在滚动时未能起作用.引用https://cdn.bootcss.com/jquery_lazyload/1.9. ...
- ES6继承语法
<!--http://www.56.com/u85/v_MTMyNjk1OTc4.html--> <!DOCTYPE html> <html> <head&g ...
- vue与animate.css的结合使用
在vue项目中,由于页面需要动画效果,使用动画其实有多种方式,可以使用vue中的过渡transition,可以使用animate动画与transition配合使用,也可以单独使用animate动画库. ...
- 【ACM-ICPC 2018 南京赛区网络预赛 I】Skr
[链接] 我是链接,点我呀:) [题意] 让你把一个字符串的所有回文子串加起来.(当做数字加起来) 求他们的和. [题解] 回文树. 从两个根节点分别遍历整棵回文树. 按照每个节点的定义. 得到每个节 ...
- Java基础学习总结(32)——Java项目命名规范
一.命名规范 1. 项目名全部小写 2. 包名全部小写 3. 类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写. 如:public class MyFirstClass{} 4. 变量 ...