mysql添加字段

MySql常用命令

僤鯓⒐⒋嵵緔 提交于 2019-11-28 06:05:33
MySQL 数据库 常用命令 1、MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show tables; 显示表 describe tablename; 表的详细描述 select 中加上distinct去除重复字段 mysqladmin drop databasename 删除数据库前,有提示。 显示当前mysql版本和当前日期 select version(),current_date; 2、修改mysql中root的密码: shell>mysql -u root -p mysql> update user set password=password(”xueok654123″) where user=’root’; mysql> flush privileges //刷新数据库 mysql>use dbname; 打开数据库: mysql>show databases; 显示所有数据库 mysql>show tables; 显示数据库mysql中所有的表:先use mysql;然后 mysql>describe user; 显示表mysql数据库中user表的列信息); 3、grant 创建一个可以从任何地方连接服务器的一个完全的超级用户

MYSQL常用命令

别说谁变了你拦得住时间么 提交于 2019-11-28 06:05:14
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 username -p dbname < filename.sql C:使用mysql命令 mysql -u username -p

Mybatis通用Mapper介绍与使用

让人想犯罪 __ 提交于 2019-11-28 05:51:04
前言 使用Mybatis的开发者,大多数都会遇到一个问题,就是要写大量的SQL在xml文件中, 除了特殊的业务逻辑SQL之外,还有大量结构类似的增删改查SQL 。而且,当数据库表结构改动时,对应的所有SQL以及实体类都需要更改。这工作量和效率的影响或许就是区别增删改查程序员和真正程序员的屏障。这时,通用Mapper便应运而生…… 什么是通用Mapper 通用Mapper就是 为了解决单表增删改查 ,基于Mybatis的插件。开发人员不需要编写SQL, 不需要在DAO中增加方法,只要写好实体类,就能支持相应的增删改查方法 。 如何使用 以MySQL为例,假设存在这样一张表: CREATE TABLE `test_table` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT '', `create_time` datetime DEFAULT NULL, `create_user_id` varchar(32) DEFAULT NULL, `update_time` datetime DEFAULT NULL, `update_user_id` varchar(32) DEFAULT NULL, `is_delete` int(8) DEFAULT NULL, PRIMARY KEY (`id

MySQL(面试题)

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

mysql编程技巧

谁说胖子不能爱 提交于 2019-11-28 02:20:35
mysql编程技巧 编程和数据库管理篇 机械工业出版社 启动:net start mysql 中止:$MySQL_HOME>bin>mysqladmin -u root -p shutdown(回车后键入root密码) 修改密码:$MySQL_HOME>bin>mysqladmin -u root -p password new_password(设置新密码为new_password,回车后输入旧密码) 还可以,但是有错误mysql> set password for root=password("why810707"); ERROR 1133 (42000): Can't find any matching row in the user table 建立数据库:create database mydata; 删除数据库:drop database mydata; 显示数据库:show databases; 打开一个数据库:use mydata; 显示一个数据库中的所有表:show tables; 建立数据表:create table data(id int(6),name varchar(20)); 插入一条数据insert into table_name values ( , ' ', , , ); 从文本文件导入数据mysqlimport -u root -p mydata

MySQL >>> 表的操作

爱⌒轻易说出口 提交于 2019-11-28 00:51:45
表的操作 创建表的完整语法 :     create table 表名(     字段名1 字段类型[ (宽度) 约束条件 ],     字段名1 字段类型[ (宽度) 约束条件 ],     字段名1 字段类型[ (宽度) 约束条件 ]             );         注:1. 同一张表中,字段名不能相同           2. 宽度和约束条件是可选的,字段名和字段类型是必须的            3. 最后一个字段后面不能加逗号       #######################################       补充:           宽度是对存储数据库的限制;如               create table t1(name char ); # char 后面不写宽度默认为 1               insert into t1 values ('jason') ;               select * from t1;               结果如下:                                       在没有 严格模式 的情况下,数据的确能够存放进去,但是只会存进去一个 j                    而最新的数据库版本直接报错:Data too long for

表完整性约束

旧街凉风 提交于 2019-11-27 22:39:46
介绍 认识:约束条件和数据类型宽度一样,都是可选类型 作用:用于保证数据的完整性、一致性 有哪几种约束: primary key (PK):标识该字段为该表的主键,可以唯一标识的记录 foreign key (FK):标识该字段为该表的外键 not null:标识该字段不能为空,必须赋值 unique key (UK):标识该字段的值是唯一的 auto_increment:标识该字段的值自动增长(整数类型,而且为主键) default:为该字段设置默认值,如果插入时不给该字段设置值,此字段使用默认值。 unsigned:表示无符号 zerofill:表示使用0填充 例子: sex enum('male','female') not null default 'male' 不允许为空,默认是male age int unsigned NOT NULL default 20 必须为正值(无符号) 不允许为空 默认是20 not null 和 default 是否可空,null表示空,非字符串 not null - 不可空 null - 可空 默认值,创建列时可以指定默认值,当插入数据时如果未主动设置,则自动添加默认值 mysql> create table t1( -> id int not null default 2, -> name char(18) not null);

MySQL数据类型和约束条件

ε祈祈猫儿з 提交于 2019-11-27 22:23:20
  一.数据库操作数据的存储引擎   INNODB:行锁 查询速度比MYSiam慢 但是保证了数据的安全性  MYSIAM:老版本用 5.0左右  MEMERY: 应用Redis实现数据的读写,同时利用队列处理器定时将数据写入mysql。同时要注意避免冲突, 在redis启动时去mysql读取所有表键值存入redis中,往redis写数据时,对redis主键自增并进行读取, 若mysql更新失败,则需要及时清除缓存及同步redis主键。这样处理,主要是实时读写redis,而mysql数据则通过队列异步处理, 缓解mysql压力,不过这种方法应用场景主要基于高并发, 而且redis的高可用集群架构相对更复杂,对于数据的保存不是永久的, 一些数据要求不严格的大公司会用,一般不是很推荐。   blackhole: 任何写入到此引擎的数据均会被丢弃掉,    不做实际存储;   Select语句的内容永远是空 过滤数据 记录日志   数据结构区别:     二.数据类型   SQL语法:     一.创建表的完整语法 create table 表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型[(宽度) 约束条件] );    注意:     1.在同一张表中字段名不能相同     2

数据库2

删除回忆录丶 提交于 2019-11-27 22:11:11
存储引擎: innodb: 现在数据库使用的默认引擎 与myisam相比,速度较慢,但是数据安全性更高(数据安全体现在行锁, 事务方面)   使用innodb创建表时,在库下默认创建两个文件,分别是frm和idb, frm表示存储表结构的文件, idb表示存储数据的文件 myisam: 老版本数据库使用的存储引擎   使用myisam创建表时,在库下默认创建三个文件, 分别是frm MYD MYI , frm表示存储表结构的文件, MYD表示存储数据的文件, MYI表示索引文件 blackhole: 黑洞,不管存储什么数据直接丢失   使用blackhole创建表时,在库下默认创建一个文件, frm , frm表示存储表结构的文件 memory: 内存引擎,临时存储在内存,服务重启数据丢失   使用memory创建表时,在库下默认创建一个文件, frm, frm表示存储表结构的文件 如何查询数据库中有哪些的引擎呢? show engines; 创建表的完整性约束: create table 表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型[(宽度) 约束条件] ); 注意:   1.字段名和字段类型是必须的,中括号内的参数都是可选参数   2.同一张表中的字段名不能重复   3.最后一个字段后不能加逗号 宽度:  

8.19MySQL(二)

大兔子大兔子 提交于 2019-11-27 22:10:16
一、存储引擎   不同的数据应该有不同的处理机制 1.mysql存储引擎   Innodb:默认的存储引擎,查询速度较myisam慢,但是更安全   myisam:mysql老版本用的存储引擎   memory:内存引擎(数据全部存在内存中)   blackhole:无论存什么,都立马消失(黑洞) 2.查看所有的存储引擎   show engines; 3.研究一下每个存储引擎存取数据的特点 (1)Innodb:两个文件,一个是表结构文件,一个是真实数据文件 (2)myisam:三个文件,表结构文件,真实数据文件,索引文件(目录) (3)memory:一个文件,表结构文件 (4)blackhole:一个文件,表结构文件 二、创建表的完整性约束 1.创建表的完整语法 create table 表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型[(宽度) 约束条件] ); 注意:   (1)字段名和字段类型是必须的 中括号内的参数都是可选参数   (2)同一张表中字段名不能重复   (3)最后一个字段后面不能加逗号,例如: create table t6( id int, name char, ); # 错误 宽度:   (1)使用数据库的准则:能尽量让它少干活就尽量少干活   (2)对存储数据的限制:char(1),只能存一个字符