mysql添加字段

MySQL期末突擊複習資料

ぐ巨炮叔叔 提交于 2019-11-29 20:03:12
概述 启动MySQL服务: services.msl命令可以打开服务面板,然后通过鼠标点击完成开启服务。 以管理員身份運行CMD:net stop mysql(关闭服务),net start mysql(开启服务) 登陆和退出(实测全部失败): mysql -uroot -plove mysql –uroot –p mysql -h+IP -uroot -plove mysql –host=ip –user=root –password=password 通用语法: 可以以单行或多行书写,以分号结束 使用空格或者tab提高可读性 MySQL不区分大小写,但建议关键字使用大写 注釋: a) 單行注釋:--+空格+注釋内容 b) 單行注釋(MySQL特有):#+注釋内容 c) 多行注釋:/* 注釋内容*/ 什麽是SQL: Structured Query Language:結構化查詢語言 定義了所有關係型數據庫的操作規則 分類: DDL:操作數據庫和表 DML:增刪改表中的數據 DQL:查詢表中的數據 DCL:授權和安全訪問操作 DDL:操作數據庫和表 操作數據庫: C(create):創建 創建數據庫:CREATE DATABASE DBname; 創建之前先查看是否已經存在:CREATE DATABASE IF NOT EXISTS DBname; 手動設置字符集:CREATE

Day52 Django基本配置以及增删改查操作

安稳与你 提交于 2019-11-29 20:03:10
一.Django静态文件配置 启动Django项目需知   1.启动Django项目必须确保一个端口号只能有一个Django项目,否则很容易出现bug   2.用户可以访问的资源都在url中,也就是只有url中开设的相关资源才能访问到(******) 如果访问不存在的资源,会报错,但前端页面会提示可以访问的url后缀   3.在浏览器中展示页面时,有时修改了但是前端页面并没有展示,这时有可能是浏览器自动访问了已经被缓存的部分,我们需要配置一个自动删除缓存功能 右键点击浏览器的检查 静态文件简介   在Django项目中,html文件默认是全部放在templates文件夹下,对于前段写好了的文件,我们只是拿过来使用,这些文件就可以称之为"静态文件" 静态文件可以是:   bootstrap一类的前段框架   图片   css样式   js代码 这些静态文件默认是全部放在static文件夹下(这个文件夹没有帮我们建,所以需要我们自己手动创建) static文件夹中我们默认需要创建的子文件夹   css文件夹:存放当前网站所有的样式文件   js文件:当前网站所有的js文件   img文件:当前网站所有的图片文件   其他(前段框架代码:如bootstrap代码等,第三方插件代码) 如果我们没有配置静态文件会 前端页面的静态文件的导入 第一步:   首先需要在配置文件settings

Django 数据库增删改查

末鹿安然 提交于 2019-11-29 19:47:04
一、数据库配置: django默认使用的是自带的sqlite数据库 如果想改其他数据库,需要在settings配置文件中配置 1.settings文件中配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'day51', 'HOST':'127.0.0.1', 'PORT':3306, 'USER':'root', 'PASSWORD':'123', 'CHARSET':'utf8' } } 2.还要在项目名下的init文件或者是应用名下的init文件中告诉django不要使用默认的mysqldb连接mysql 而是使用pymysql import pymysql pymysql.install_as_MySQLdb() 二、创建模型类 class User(models.Model): # 将id字段设置为User表主键字段 在django orm中 你可以不写主键字典 django会默认给你的表创建一个名为id的主键字段 # id = models.AutoField(primary_key=True) # 一旦你自己指定了主键字段 那么django就不会自动再帮你创建了 username = models.CharField(max_length=32) # username

MySQL 基本使用

末鹿安然 提交于 2019-11-29 16:41:41
## 创建数据库 create database demo01 default character set utf8; ##切换数据库到新建的库 use demo01; ##在新的库中创建表 create table clazz ( cid int(10) not null auto_increment primary key, cname varchar(100) not null, csg varchar(200) unique, ) ##创建学生表 create table student ( sid int(10) not null auto_increment primary key, ##主键自增 sname varchar(100) not null, ##非空 ssext char(4) not null, ##非空 sbirth date, sfav varchar(200), sphone char(11) unique, ##唯一 cid int(10) references clazz(cid) ##外键约束 ## constraint pk_cid primary key(cid), ## constraint un_csg unique key(csg), ## constraint fk_cid foreign key(cid) references

大数据量时Mysql的优化要点

空扰寡人 提交于 2019-11-29 14:01:37
如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB。对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求。这个时候NoSQL的出现暂时解决了这一危机。它通过降低数据的安全性,减少对事务的支持,减少对复杂查询的支持,来获取性能上的提升。但是,在有些场合NoSQL一些折衷是无法满足使用场景的,就比如有些使用场景是绝对要有事务与安全指标的。这个时候NoSQL肯定是无法满足的,所以还是需要使用关系性数据库。 虽然关系型数据库在海量数据中逊色于NoSQL数据库,但是如果你操作正确,它的性能还是会满足你的需求的。针对数据的不同操作,其优化方向也是不尽相同。对于数据移植,查询和插入等操作,可以从不同的方向去考虑。而在优化的时候还需要考虑其他相关操作是否会产生影响。就比如你可以通过创建索引提高查询性能,但是这会导致插入数据的时候因为要建立更新索引导致插入性能降低,你是否可以接受这一降低那。所以,对数据库的优化是要考虑多个方向,寻找一个折衷的最佳方案。 一:查询优化 1:创建索引。 最简单也是最常用的优化就是查询。因为对于CRUD操作,read操作是占据了绝大部分的比例,所以read的性能基本上决定了应用的性能。对于查询性能最常用的就是创建索引。经过测试,2000万条记录,每条记录200字节两列varchar类型的

Mysql干货

白昼怎懂夜的黑 提交于 2019-11-29 12:23:46
索引相关 关于MySQL的索引,曾经进行过一次总结,文章链接在这里 Mysql索引原理及其优化. 1. 什么是索引? 索引是一种数据结构,可以帮助我们快速的进行数据的查找. 2. 索引是个什么样的数据结构呢? 索引的数据结构和具体存储引擎的实现有关, 在MySQL中使用较多的索引有Hash索引,B+树索引等,而我们经常使用的InnoDB存储引擎的默认索引实现为:B+树索引. 3. Hash索引和B+树所有有什么区别或者说优劣呢? 首先要知道Hash索引和B+树索引的底层实现原理: hash索引底层就是hash表,进行查找时,调用一次hash函数就可以获取到相应的键值,之后进行回表查询获得实际数据. B+树底层实现是多路平衡查找树 .对于每一次的查询都是从根节点出发,查找到叶子节点方可以获得所查键值,然后根据查询判断是否需要回表查询数据. 那么可以看出他们有以下的不同: hash索引进行等值查询更快(一般情况下),但是却 无法进行范围查询 . 因为在hash索引中经过hash函数建立索引之后,索引的顺序与原顺序无法保持一致,不能支持范围查询.而B+树的的所有节点皆遵循(左节点小于父节点,右节点大于父节点,多叉树也类似),天然支持范围. hash索引不支持使用索引进行排序 ,原理同上. hash索引不支持模糊查询 以及多列索引的最左前缀匹配.原理也是因为hash函数的不可预测

Mysql常见知识点3

倾然丶 夕夏残阳落幕 提交于 2019-11-29 09:47:17
Mysql 的存储引擎,myisam和innodb的区别。 答: 1.MyISAM 是非事务的存储引擎,适合用于频繁查询的应用。表锁,不会出现死锁,适合小数据,小并发。 2.innodb是支持事务的存储引擎,合于插入和更新操作比较多的应用,设计合理的话是行锁(最大区别就在锁的级别上),适合大数据,大并发。 数据表类型有哪些 答:MyISAM、InnoDB、HEAP、BOB,ARCHIVE,CSV等。 MyISAM:成熟、稳定、易于管理,快速读取。一些功能不支持(事务等),表级锁。 InnoDB:支持事务、外键等特性、数据行锁定。空间占用大,不支持全文索引等。 MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化? a. 设计良好的数据库结构,允许部分数据冗余,尽量避免join查询,提高效率。 b. 选择合适的表字段数据类型和存储引擎,适当的添加索引。 c. mysql库主从读写分离。 d. 找规律分表,减少单表中的数据量提高查询速度。 e。添加缓存机制,比如memcached,apc等。 f. 不经常改动的页面,生成静态页面。 g. 书写高效率的SQL。比如 SELECT * FROM TABEL 改为 SELECT field_1, field_2, field_3 FROM TABLE. 对于大流量的网站,您采用什么样的方法来解决各页面访问量统计问题?

MYSQL索引

二次信任 提交于 2019-11-29 08:56:41
mysql的4种常用索引类型:唯一索引,主键索引,全文索引,以及普通索引。 普通索引(INDEX):普通索引为索引的核心部分,无限制,目的就是加快数据的访问速度,而主键索引,唯一索引, 全文索引则是在普通索引延伸出来的有规则限制的索引,方便用于某些特定的业务场景。 主键索引(PRIMARY):可以理解主键(常用的那个id主键),每一张表都必须有一个主键,且不允许为空。 唯一索引(UNIQUE):内容具备唯一性,像手机号,身份证这种,可以用唯一索引,唯一索引允许内容为空 全文索引(FULLTEXT):用于文本文章匹配,适用于模糊搜索居多,模糊搜索时使用%xxx%和%xxx,索引是不起效的,唯有使用xxx%,索引才会起效果,适用字段类型,varbinary,text。 以上4种是常用的索引,接下来我们来看看其他的索引 如:单列索引,多列索引(也叫组合索引、联合索引、复合索引) 单列索引:即是一个表里就一个字段创建了索引 多个单列索引:即是根据需求在表里的多个字段里创建了多个索引 多列索引:则是根据需求在表中的多个字段里创建一个索引,创建时须考虑字段顺序,在使用中必须按照索引字段顺序使用,否则失效 索引的基本操作:增删改查 添加索引: 以下添加默认为添加单列索引 ALTER TABLE 表名 ADD INDEX 索引名称(字段名); 如:ALTER table cs ADD INDEX

0607mysql基础:常用属性、约束

只愿长相守 提交于 2019-11-29 08:34:58
一、常用属性 1、auto_increment:自增长   auto_increment能为新插入的行赋一个唯一的整数标识符。为列赋此属性将为每个新插入的行赋值为上一次插入的ID+1。   MySQL要求将auto_increment属性用于作为主键的列。此外,每个表只允许有一个auto_increment列。 2、binary:区分大小写 binary属性只用于char和varchar值。当为列指定了该属性时,将以区分大小写的方式排序。与之相反,忽略binary属性时,将使用不区分大小写的方式排序。 3、default:默认值 default属性确保在没有任何值可用的情况下,赋予某个常量值,这个值必须是常量,因为MySQL不允许插入函数或表达式值。此外,此属性无法用于BLOB或TEXT列。如果已  经为此列指定了NULL属性,没有指定默认值时默认值将为NULL,否则默认值将依赖于字段的数据类型。 4、index:索引 如果所有其他因素都相同,要加速数据库查询,使用索引通常是最重要的一个步骤。索引一个列会为该列创建一个有序的键数组,每个键指向其相应的表行。以后针对输入条件  可以搜索这个有序的键数组,与搜索整个未索引的表相比,这将在性能方面得到极大的提升   create table employees   (   id varchar(9) not null,  

mysql 表的完整性约束

戏子无情 提交于 2019-11-29 08:32:12
目录 mysql 表的完整性约束 约束概念 unsigned 设置某一个数字无符号 (整数类型 ,浮点类型不能是unsigned) not null 某一个字段不能为空(严格模式会影响非空设置的效果) default 给某个字段设置默认值(设置默认值) unique 设置某一个字段不能重复 (唯一约束) auto_increment 设置某一个int类型的字段 自动增加 (自增字段 必须是数字 且 必须是唯一的) primary key 设置主键 (这一个字段非空且唯一) foreign key 外键 (外键,涉及到两张表,数据类型一样,且有唯一约束) references 级联删除和更新 mysql 表的完整性约束 约束概念 为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数据进行监测, 使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容。 约束条件与数据类型的宽度一样,都是可选参数,主要分为以下几种: # NOT NULL :非空约束,指定某列不能为空; # UNIQUE : 唯一约束,指定某列或者几列组合不能重复 # PRIMARY KEY :主键,指定该列的值可以唯一地标识该列记录 # FOREIGN KEY :外键,指定该行记录从属于主表中的一条记录,主要用于参照完整性 unsigned