mysql添加字段

148复习前一天的内容

淺唱寂寞╮ 提交于 2020-01-26 09:51:05
一、含义 事务:一条或多条sql语句组成一个执行单位,一组sql语句要么都执行,要么都不执行 二、特点(ACID) A 原子性:一个事务是不可再分割的,要么都执行,要么都不执行 C 一致性:我们的数据是准确的,完整的,可靠的。一个事务可以使数据从一个一致状态,切换到另一个一致状态 I 隔离性:一个事务不受其他事务的干扰,多个事务互相隔离(通过设置隔离级别来隔离) D 持久性:一个事务一旦提交了,则永久的持久化到本地 三、事务的使用步骤 了解: 隐式(自动)事务:没有明显的开启和结束,本身就是一条事务可以自动提交,比如insert、update、delete 显示事务:需要手动提交,具有明显的开始和结束 使用显示事务: ①开启事务 set autocommit=0; 【start transaction;】 --可以省略 ②编写一组逻辑sql语句 注意:sql语句支持的是insert、update、delete 设置回滚点: savepoint 回滚点名; ③结束事务 提交:commit; 回滚:rollback; 回滚到制定的地方:rollback to 回滚点名; 四、并发事务、 1.事务的并发问题是如何发生的? 多个事务 同时 操作 同一个数据库的相同数据时 2.并发问题都有哪些? 脏读:一个事务读取了其他事务还没有提交的数据,读到的是其他事务”更新“的数据 不可重复度

Mysql常用命令

雨燕双飞 提交于 2020-01-26 06:49:33
Mysql常用命令详解 Mysql安装目录 数据库目录 /var/lib/mysql/ 配置文件 /usr/share/mysql(mysql.server命令及配置文件) 相关命令 /usr/bin(mysqladmin mysqldump等命令) 启动脚本 /etc/init.d/mysql(启动脚本文件mysql的目录) 系统管理 连接MySQL 格式: mysql -h 主机地址 -u用户名 -p用户密码 例 1:连接到本机上的 MySQL。 hadoop@ubuntu:~$ mysql -uroot -pmysql; 例 2:连接到远程主机上的 MYSQL。 hadoop@ubuntu:~$ mysql -h 127.0.0.1 -uroot -pmysql; 修改新密码 在终端输入:mysql -u用户名 -p密码,回车进入Mysql。 > use mysql; > update user set password=PASSWORD('新密码') where user='用户名'; > flush privileges; #更新权限 > quit; #退出 增加新用户 格式:grant select on 数据库.* to 用户名@登录主机 identified by '密码' 举例: 例 1:增加一个用户 test1 密码为 abc,让他可以在任何主机上登录

Django ORM 常用字段和参数

十年热恋 提交于 2020-01-26 02:13:48
1、常用字段 AutoFiled int自增列,必须填入参数 primary_key=True。当model中如果没有自增列,则自动会创建一个列名为id的列。 IntegerField 一个整数类型,范围在 -2147483648 to 2147483647。(一般不用它来存手机号(位数也不够),直接用字符串存,) CharField 字符类型,必须提供max_length参数, max_length表示字符长度。 这里需要知道的是Django中的CharField对应的MySQL数据库中的varchar类型,没有设置对应char类型的字段,但是Django允许我们自定义新的字段,下面我来自定义对应于数据库的char类型 自定义char字段: from django.db import models class MyCharField(models.Field): def __init__(self, max_length, *args, **kwargs): self.max_length = max_length super().__init__(max_length=max_length,*args, **kwargs) def db_type(self, connection): return 'char(%s)' % self.max_length class

mysql--对行(表中数据)的增删改查

别说谁变了你拦得住时间么 提交于 2020-01-26 01:57:55
一.插入数据(增加)insert 1.插入数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n); #指定字段来插入数据,插入的值要和你前面的字段相匹配 语法二: INSERT INTO 表名 VALUES (值1,值2,值3…值n); #不指定字段的话,就按照默认的几个字段来插入数据 2.指定字段插入数据 语法: INSERT INTO 表名(字段1,字段2,字段3…) VALUES (值1,值2,值3…); 3.插入多条记录 语法:#插入多条记录用逗号来分隔 INSERT INTO 表名 VALUES (值1,值2,值3…值n), (值1,值2,值3…值n), (值1,值2,值3…值n); 4.插入查询结果 语法: INSERT INTO 表名(字段1,字段2,字段3…字段n) SELECT (字段1,字段2,字段3…字段n) FROM 表2 WHERE …; #将从表2里面查询出来的结果来插入到我们的表中,但是注意查询出来的数据要和我们前面指定的字段要对应好    二.更新(修改)数据update 语法: UPDATE 表名 SET 字段1=值1, #注意语法,可以同时来修改多个值,用逗号分隔 字段2=值2, WHERE CONDITION; #更改哪些数据,通过where条件来定位到符合条件的数据

centos7中mysql5.7库操作、表操作、字段、数据操作、增删改查

馋奶兔 提交于 2020-01-24 23:55:09
库操作: 3.新建库:create database hardinfo character set = utf8 collate = utf8_bin; (create database kuname;普通新建,不设置字符集,里面不能包含中文) 4.删除库:drop database kuname; 5.修改库名: 如果是myISAM引擎去到数据库存储位置(/var/lib/mysql)下找到库然后mv到新建的库中就可!Innodb引擎的话是不支持的 Innodb引擎可以使用逻辑备份和物理备份结合的方式,备份到新建的库中就可,不过费事而且不安全,可能会数据丢失。 添加脚本,需要提前建立好新库(oldname旧名字,newname是新名字执行成功后就可以。如果是myISAM引擎的话还是建议之间用第一种,安全可靠。) mysql -uroot -p123456 -e ‘create database if not exists newname’ list_table=$(mysql -uroot -p123456 -Nse “select table_name from information_schema.TABLES where TABLE_SCHEMA=‘oldname’”) for table in l i s t t a b l e d o m y s q l − u r o

MySQL开发规范

只愿长相守 提交于 2020-01-24 15:25:01
MySQL开发规范 基于阿里数据库设计规范扩展而来 : https://yq.aliyun.com/articles/709387 参考,58到家MySQL军规升级版 : https://www.jianshu.com/p/c077581693fb 基础规范 表存储引擎必须使用InnoDB MySQL常见的三种存储引擎(storage_engine) : InnoDB、MyISAM、MEMORY 存储引擎就是指 表的类型以及表在计算机上的存储方式 通过“SHOW ENGINES”语句来查看 MySQL中的存储引擎 特性 innoDB MyISAM Memory 事务安全 支持 无 无 存储限制 64T 有 有 空间使用 高 低 低 内存使用 高 低 高 插入数据的速度 低 高 高 读取数据的速度 低 高 高 对外键的支持 支持 无 无 全文索引 不支持 支持 InnoDB存储引擎 InnoDB给MySQL的表提供了 事务处理 、 回滚 、 崩溃修复能力 和 多版本并发控制 的事务安全 InnoDB存储引擎总支持 AUTO_INCREMENT 。自动增长列的值不能为空,并且值必须唯一。MySQL中规定自增列必须为主键 InnoDB还支持 外键(FOREIGN KEY) 。外键所在的表叫做子表,外键所依赖(REFERENCES)的表叫做父表,父表中被子表外键关联的字段必须为主键。

mySql基础

半腔热情 提交于 2020-01-24 14:24:10
sudo find / -name php.ini 如果没找到 cd /Private/etc 可以找到php.ini.default cp php.ini.default php.ini 复制一份 2017-03-23T03:03:00.557711Z 1 [Note] A temporary password is generated for root@localhost: nRWip6C+C3q& If you lose this password, please consult the section How to Reset the Root Password in the MySQL reference manual. 现在你就可以通过mysql -uroot -p登录mysql了,会让你输入密码,就是pic3上的>fj... 登录成功后,你可以通过下面的命令修改密码 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); mysqladmin -u root -p create RUNOOB 以上命令执行成功后会创建 MySQL 数据库 RUNOOB。 [root@host]# mysqladmin -u root -p drop RUNOOBEnter password:******

MySQL基础笔记

做~自己de王妃 提交于 2020-01-24 14:23:44
本文摘自https://blog.csdn.net/u010947693/article/details/54863726,仅供学习参考使用 连接数据库: 一般都是一个API函数(不同语言不同,但参数相似)XXX_connect( server,user,passwd,newlink,clientflag); 创建与删除一个数据库 在PHP是使用mysql_query(sql:是SQL的查询命令,connection:可选为SQL标识符) 选择数据库:mysql_select_db(dbname:数据名,connection:可选规定MySQL连接) MYSQL的数据类型有 1,2,3,4,8,字节的整型,还有浮点,双精型。 创建数据表 CREAT TABLE tablename(colum_name :属性名 column_type:属性类型); 删除数据表 DROP TABLE tablename; 插入数据: INSERT INTO table_name(field1,field2,field2 ....)VALUES(value1 ,value2,value,“value3””)value就是数据的值。 查询数据: SELECT column_name,column_name FROM tablename [WHERE Clause][OFFSET M][LIMIT N]

mysql性能优化

旧街凉风 提交于 2020-01-24 13:46:15
数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情 1.为查询缓存优化你的查询 mysql> show variables like '%query_cache%'; (query_cache_type 为 ON 表示已经开启) +------------------------------+----------+ | Variable_name | Value | +------------------------------+----------+ | have_query_cache | YES | | query_cache_limit | 1048576 | | query_cache_min_res_unit | 4096 | | query_cache_size | 20971520 | | query_cache_type | ON | | query_cache_wlock_invalidate | OFF | +------------------------------+----------+ 如果不是ON,修改配置文件以开启查询缓存: > vi /etc/my.cnf [mysqld]中添加: query_cache_size = 20M #缓存的大小

MySql数据库优化

…衆ロ難τιáo~ 提交于 2020-01-21 14:05:44
数据库优化,是一种综合性的技术,不是通过某一种方式让数据库效率提高很多,而是通过各个方面的优化,来是数据库效率明显的稳步的提高。 主要包括以下: 1、库表的设计优化(三种范式) 2、 库表添加合适的索引(普通索引+主键索引+唯一索引+全文索引) 3、 分表技术-水平分割与垂直分割 4、 读写分离(add/delete/update与select分开) 5、 多用存储过程和触发器(模块化编程) 6、 优化MqSql配置(配置最大并发数,调整缓存大小,my.ini) 7、SQL优化与慢查询 8、 定时清楚垃圾数据,定时进行碎片整理( MyISAM ) 除此之外,还有 MqSql服务器硬件升级 以下进行详细描述 题外话: 存储引擎: MyISAM : 查询速度快,插入速度快,但不支持 事务 ,碎片多; InnoDB :5.5版本后Mysql的默认数据库,支持事务,支持ACID事务,支持行级锁定; Memory :所有数据置于内存中,拥有极高的插入,适合频繁的数据更新,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失,不需要保存滴; 数据库三种模式结构/三级模式 外模式(用户):用户所能看到的数据视图,可通过数据库操纵语言对数据进行操作; 模式(概念):用户视图的最小并集,所有数据的逻辑结构和概念的描述; 内模式(物理):实际存储组合,内部视图