mysql添加字段

数据库入门必知的基本概念

心不动则不痛 提交于 2019-11-27 02:34:24
数据库的基本概念: 动态网站开发离不开数据存储,数据存储离不开数据库,数据库技术是计算机技术中的重要部分,在软件开发等领域起着至关重要的作用。所谓数据库,可以理解为用来存储信息的仓库。而信息就是要存储下来的一些数据,比如用户的姓名、年龄、产品的价格、简介,某一个日期时间甚至图像等等,总之一切可以在计算机中存储下来的数据都可以通过各种方法存储到数据库中,并且数据库也不仅仅是简单的仓库,他提供了一系列科学的存数据,取数据,等等其他的管理措施。 比如我们要学习的MySQL数据库,信息并不是杂乱无章的直接放在MySQL数据 库中的,可以形象的看成是以二维表的形式组织起来的,一条一条存储于 表 中, 这和日常生活中经常用到的各种表格形式上是一致的。表中的每一条信息称为称为 一条记录 。 一个数据库中可以有若干张表 ,每张表中又可以存放 若干条记录 。每张表都有自己的“表头”。比如设计一张表格,用来统计学生信息,那么把要收集的学生的信息分成几个栏目,这些栏目就是“表头”,在数据库技术中,称 为 字段 。表中 横向的多个字段值 组成了一条 记录 ,多条记录构成了一张数据表。上面简明说明了数据库、表、字段和字段值这几个概念。数据库系统其实就是一个软件系统,通过这个软件系统可以对大量数据进行存储和管理。当前市场上的数据库有几十种。对于网站开发而言

关系型数据库和非关系型数据库的种类和区别和关系型数据库基本操作

爱⌒轻易说出口 提交于 2019-11-27 02:24:49
关系型数据库和非关系型数据库的种类和区别 数据库 类型 特性 优点 缺点 关系型数据库 SQLite、Oracle、mysql 1、关系型数据库,是指采用了关系模型来组织 数据的数据库; 2、关系型数据库的最大特点就是事务的一致性; 3、简单来说,关系模型指的就是二维表格模型, 而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。 1、容易理解:二维表结构是非常贴近逻辑世界一个概念,关系模型相对网状、层次等其他模型来说更容易理解; 2、使用方便:通用的SQL语言使得操作关系型数据库非常方便; 3、易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率; 4、支持SQL,可用于复杂的查询。 1、为了维护一致性所付出的巨大代价就是其读写性能比较差; 2、固定的表结构; 3、高并发读写需求; 4、海量数据的高效率读写; 非关系型数据库 MongoDb、redis、HBase 1、使用键值对存储数据; 2、分布式; 3、一般不支持ACID特性; 4、非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合。 1、无需经过sql层的解析,读写性能很高; 2、基于键值对,数据没有耦合性,容易扩展; 3、存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等

SQL第二天

心不动则不痛 提交于 2019-11-27 02:13:30
DDL 对表的增删改 创建表 Create table 表名 ( 字段 数据类型,。。。 )engin=..,charset=utf8 修改表 改表名: Alter table 表名 rename 新表名 添加属性 Alter table 表名 add 字段 数据类型 删除列 Alter table 表名 drop 列名 删除表 Drop table 表名 MDL 增删改查 增: Insert into 表名 (字段,。。。) values (值) 删: Delete from 表名 where 条件 改 Update 表名 set 字段 = 值 where 条件 查: Select 表属性 from 表名 where 条件 数据备份 最好使用管理员权限 cmd 命令: mysqldump -uroot -p 密码 表名 > 文件位置 / 表名 .sql :备份 添加: mysql -uroot -p 密码 表名 < 文件位置 / 多表查询 Select * from 表一,表二 这样会出现一个问题笛卡儿积,造成数据的叠加,消除笛卡儿积的方式 内链接 显示内链接: Select * from 表名 1 ,表名 2 where 表 1. 字段 = 表 2. 字段 隐式内链接: Select * from 表 1 inner join 表二 on 表 1. 字段 = 表 2. 字段

信安周报-第02周:SQL基础

霸气de小男生 提交于 2019-11-27 00:44:47
信安之路 第02周 Code: https://github.com/lotapp/BaseCode/tree/master/safe 前言 本周需要自行研究学习的任务贴一下: 1.概念(推荐) 数据库系列去年就开始陆陆续续的发文,这周任务简单带过,概念部分我更新了一下,其他部分看扩展吧~ 1.1.关系型数据库 引用百科的一段 抽象 描述: “关系型数据库,是指 采用了关系模型 来组织数据的数据库,其 以行和列的形式存储数据 ,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。” 通俗讲就是: 现实中的东西抽象成一个个关系,然后存储在一张张行列组成的表中,这些表就组成了关系型数据库 PS:重点就是各数据之间的 关系 (Join) 1.1.1.代表 最经典的莫过于: MySQL 、 SQLServer 、 PostgreSQL 、 SQLite 、 Oracle 1.1.2.特性 先看看传统数据库的好处: 通过事务保持数据一致 可以Join等复杂查询 社区完善(遇到问题简单搜下就ok了) 最典型的特征就是: 事物的ACID特性 PS:抽象的就不说了,举个例子来说明 ACID : A

MySQL笔记

天大地大妈咪最大 提交于 2019-11-27 00:37:48
SQL分类: DDL:数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象的定义,常用的语句关键字包括create、drop、alter、等 DML:数据操控语句,用于添加、删除、更新和查询数据库语句,并检查数据完整性,常用的语句关键字主要包括insert、delete、update和select。 DCL:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句,这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括grant、revoke。 登录数据库:mysql -uroot -hlocalhost -p 创建数据库:create database test1 查看数据库:show databases 选择数据库:use dbname 查看数据库中的表:show tables 删除数据库:drop database dbname 删除表,定义和数据:drop table tablename 删除表全部数据:Truncate table tablename 删除表部分数据,带where:Delete From tablename Where 列名称=值查看表的定义:show create table emp \G 修改表:先删除再创建 修改表类型:alter table tablename modify column 字段定义

mysql优化方案

走远了吗. 提交于 2019-11-26 22:31:51
【总体优化建议】 1、 在一般情况下,应该尝试以非冗余方式(查看数据库理论中的第三正则形式)保存数据,但是为了获得更快的速度,可以冗余字段或创建总结表。 2、当MyISAM使用动态表格式时,偶尔使用 OPTIMIZE TABLE 可以避免碎片。可以写一个脚本程序定时执行优化。 3、在Web服务器中,图象和其它二进制资源应该作为文件存储。也就是仅在数据库中存储的文件的引用地址而不是文件本身。大多数Web服务器在缓存文件方面比数据库内容要好得多,因此使用文件一般要快得多。 4、对经常访问的不重要数据(如session)使用内存表。 5、在MYSQL的主写从读的架构中,一般将主库的表类型使用innoDB类型,而从库则使用myisam的表结构。因为innoDB支持事务,而且它是行锁,对插入、更新、删除的影响比较小,更改数据的性能也更高(很多人测试过)。 注:一定要记得要将innodb的auto_commit的默认值设置成0或false,它是默认值是1 InnoDB表的行锁也不是绝对的,如果在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表,例如update table set num=1 where name like “%aaa%” 6、用DELAY_KEY_WRITE=1选项声明MyISAM表可以使索引更新更快,因为在表关闭之前它们不刷新到硬盘上

Mysql 优化方案

自古美人都是妖i 提交于 2019-11-26 22:31:37
Mysql 优化方案 从 开发角度 优化mysql,让数据库效率 更高、更快 。 索引优化 查看mysql状态 通过周期性观察mysql状态优化,更有利于确定mysql性能瓶颈在哪里。 通过 show status 命令观察mysql的运行状态。其中比较主要的几个: 命令格式: show [global|session] status like 'command'; 默认是session: 当前会话;global: 全局会话。 show status like "up_time"; 查看mysql启动了多长时间 show status like 'com_ select'; 查看mysql执行select的次数 show status like 'com_ delete'; 查看mysql执行delete的次数 show status like 'com_ update'; 查看mysql执行upate的次数 show status like 'com_ insert'; 查看mysql执行insert的次数 show status like 'Thread_s running';有多少个连接正在工作 show status like 'connections';试图连接mysql的次数 show status like ' Max_used_connections'

mysql常用命令【转】

点点圈 提交于 2019-11-26 18:35:30
http://www.cnblogs.com/hateislove214/archive/2010/11/05/1869889.html 1.导出整个数据库 mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1) mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql 3.导出一个数据库结构 mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql -d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table 4.导入数据库 A:常用source 命令 进入mysql数据库控制台, 如mysql -u root -p mysql>use 数据库 然后使用source命令,后面参数为脚本文件(如这里用到的.sql) mysql>source wcnc_db.sql B:使用mysqldump命令 mysqldump -u

MySQL的基本使用

天涯浪子 提交于 2019-11-26 18:22:43
数据库的介绍 数据库管理系统: Mysql,oracle,sqlite,access,sql,server等 数据库服务器: 数据库管理系统运行的机器,就是数据库服务器. 数据库分为两种, 有关系型和非关系型 Redis Celery MySQL的初始 1.登录mysql mysql -u root -p 远程登录 mysql -u root -p -h106.52.85.190 -P端口 # 注意使用命令远程链接mysql,必须使用的地方有mysql mysql -hIP -P端口 -uroot -p密码 2.修改密码 mysqladmin -uroot -p123 password "新密码" mysqladmin -uroot -p password "新密码" 3.忘记密码,破解(linux) # 1. 修改配置文件(linux命令行) sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf # 在[mysqld] 下加上skip-grant-tables # 2. 重启mysql服务(linux命令行) systemctl restart mysql # 3.登录root管理用户,不需要输入密码(linux命令行) mysql -u root -p # 直接回车,即可进入mysql命令 # 4. 设置新密码(mysql命令行) mysql>

小白之旅20

瘦欲@ 提交于 2019-11-26 17:42:44
约束 概念:对表中的数据进行限制,保证数据的正确性、完整性、有效性 一. 主键约束 primary key 特点: 非空、唯一,是表中记录的唯一标识 一张表只能有一个主键 建表时,添加主键 create table emp (eid varchar(20) primary key , ename varchar(20) , eage int , ...); 建议将主键放在第一位 create table emp (eid varchar(20) , ename varchar(20) , eage int , ... , primary key (eid)); 删除主键 不能使用修改列类型的方式删除主键, 即:alter table emp modify eid varchar(20); alter table emp drop primary key; 注:只删除了唯一约束 建表后,设置主键 alter table emp modify eid varchar(20) primary key; 主键自增长:数值类型的主键,可以通过 auto_increment 使主键自动增长,只有主键能自增长,auto_increment 也是MySQL的方言 建表时,添加主键自增长 create table emp (eid int primary key auto_increment ,