mysql修改字段类型

MySQL 主键 外键 索引

匿名 (未验证) 提交于 2019-12-02 22:06:11
主键: 外键:   假如某个电脑生产商,它的数据库中保存着整机和配件的产品信息。用来保存整机产品信息的表叫做 Pc;用来保存配件供货信息的表叫做Parts。   在Pc表中有一个字段,用来描述这款电脑所使用的CPU型号;   在Parts 表中相应有一个字段,描述的正是CPU的型号,我们可以把它想成是全部CPU的型号列表。   很显然,这个厂家生产的电脑,其使用的CPU一定是供货信息表(parts)中存在的型号。这时,两个表中就存在一种约束关系(constraint)――Pc表中的CPU型号受到Parts 表中型号的约束。   首先我们来创建 parts 表: CREATE TABLE parts ( ... 字段定义 ..., model VARCHAR(20) NOT NULL, ... 字段定义 ... );   接下来是Pc表: CREATE TABLE pc ( ... 字段定义 ..., cpumodel VARCHAR(20) NOT NULL, ... 字段定义 ... };   设置索引   若要设置外键,在参照表(referencing table,即Pc表) 和被参照表 (referenced table,即parts表) 中,相对应的两个字段必须都设置索引(index)。   对Parts表:   ALTER TABLE parts ADD INDEX

mysql性能优化

匿名 (未验证) 提交于 2019-12-02 22:06:11
数据库的操作越来越成为整个应用的性能瓶颈了,这点对于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

MySQLѧϰ

匿名 (未验证) 提交于 2019-12-02 22:06:11
MySQLѧϰ ― Java攻城狮学习路线 ― 入门: 1. 简介 2. 安装 3. 数据库连接 4. 数据库操作 5. 注释 6. 数据类型 7. 数据表操作 8. 数据操作 9. 常用函数 10. 导入导出数据 11. 图形化工具 12. SQL快速参考 进阶: 13. 存储引擎 14. 索引 15. 查询性能优化 16. 切分 17. 故障转移与故障恢复 1. 简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。 1.1 什么是据库? 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。基于读写速度考虑,现在使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。其特点为: 数据以表格的形式出现 每行为各种记录 每列为记录所对应的数据项 许多的行和列组成一张表单 若干的表单组成数据库 1.2 RDBMS

Mysql1:数据库表操作,增删改查举例

匿名 (未验证) 提交于 2019-12-02 22:06:11
数据库表的相关操作 添加数据库表 语法:       查看数据库表 语法:   show tables; 实例:    查看数据库表结构 1)使用DESCRIBE/DESC       实例:    语法:          语法:    实例:   将user_info表改为user_data    修改字段的数据类型 语法:      将id 的数据类型由 varcahr(125) 改为 varchar(11)    修改字段名 语法:      将user_data中的 name 改为username         CHANGE也也可只修改数据类型,实现和MODIFY同样的效果,方法是将新字段名和旧字段名设置相同名称,只改变数据类型。由于不同类型的数据在机器中存储方式及长度并不相同,修改数据类型可能会影响到数据表中已有的数据记录。因此当数据库表中已有数据时,不要轻易修改数据类型。 添加字段 语法 :          1)添加无完整性约束条件的字段   在user_data表中添加一个没有完整性约束的INT类型字段 2)添加有完整性约束条件的字段   在user_data中添加一个不能为空的VARCHAR(12)类型字段    3)在表的第一列添加一个字段   在user_data第一列添加一个INT字段的num字段    4)在指定列之后添加一个字段   在user

MySQL数据库基础操作语句

匿名 (未验证) 提交于 2019-12-02 22:06:11
SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,分为3种类型:  1、DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER  2、DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT  3、DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE(取消授权)SQL基础操作语句:   管理员登录:mysql -uroot -p 设置管理员密码:set password=password(密码); 查看数据库所有用户:select * from mysql.user; 查看用户权限:show grants for 用户名@网络地址 [identified by 密码] 普通用户登录:mysql -u用户名 -h网络地址 -p 查看当前用户:select user(); 查看当前数据库:select database(); 当前时间:now() 查看当前数据库是否是严格模式:select @@sql_mode; #----DCL操作 创建用户:create user 用户名@网络地址 identified by 密码; 用户授权:grant all[SELECT INSERT UPDATE DELETE] on 数据库名.表名 to

Mysql1:数据库表操作,增删改查举例

与世无争的帅哥 提交于 2019-12-02 22:05:05
数据库表的相关操作 添加数据库表 语法:    实例:    查看数据库表 语法:   show tables; 实例:    查看数据库表结构 1)使用DESCRIBE/DESC    语法:    实例:       2)SHOW CREATE TABLE 语法:    实例:      使用此方法查看数据库表结构时,不仅可以查看表创建时候的详细语句,而且还可以查看存储引擎和字符编码。    修改表名 语法:      to为可选参数,使用与否均不影响 实例:   将user_info表改为user_data    修改字段的数据类型 语法:    实例:   将id 的数据类型由 varcahr(125) 改为 varchar(11)    修改字段名 语法:       实例:   将user_data中的 name 改为username         CHANGE也也可只修改数据类型,实现和MODIFY同样的效果,方法是将新字段名和旧字段名设置相同名称,只改变数据类型。由于不同类型的数据在机器中存储方式及长度并不相同,修改数据类型可能会影响到数据表中已有的数据记录。因此当数据库表中已有数据时,不要轻易修改数据类型。 添加字段 语法 :          实例: 1)添加无完整性约束条件的字段   在user_data表中添加一个没有完整性约束的INT类型字段    2

mysql-建表、添加字段、修改字段、添加索引SQL语句写法

匿名 (未验证) 提交于 2019-12-02 22:02:20
DROP TABLE IF EXISTS USERS; CREATE TABLE USERS( id INT UNSIGNED NOT NULL AUTO_INCREMENT, # 主键 UNSIGNED 无符号 AUTO_INCREMENT 自增 name VARCHAR(30) NOT NULL COMMENT '用户名', sex ENUM('男','女') NOT NULL DEFAULT '男', # 使用枚举类型, 在插入的时候可以数值来表示,从1开始。如1则代表男 age TINYINT UNSIGNED NOT NULL DEFAULT 1, PRIMARY KEY (`Id`) )DEFAULT CHARSET=UTF8 ENGINE=INNODB; 操作字段都是ALTER TABLE 表名 的格式 2、添加字段 ALTER TABLE USERS ADD alias varchar(20) COMMENT '别名'; 3、修改字段   3.1 不修改名称 使用modify ALTER TABLE USERS MODIFY name varchar(20) NOT NULL COMMENT '用户名'; ALTER TABLE USERS CHANGE name username varchar(20) NOT NULL COMMENT '用户名'; 4、删除字段

最清晰易懂的Mysql CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP区别

匿名 (未验证) 提交于 2019-12-02 22:02:20
timestamp数据类型 Mysql数据库中,当字段类型为timestamp(时间戳)时,如果默认值取 CURRENT_TIMESTAMP ,则在insert一条记录时,此时的值 自动设置为系统当前时间 ,一般 做创建字段用(create_time) 如果是  ON UPDATE CURRENT_TIMESTAMP  ,则时间字段会 随着update命令进行实时更新 ,即当 此条数据的其他字段发生变化时,此时字段的值自动更新为最新的时间 ,一般做 更新字段用(update_time) 。 总结: CURRENT_TIMESTAMP: 记录数据创建时间 ON UPDATE CURRENT_TIMESTAMP: 在 创建新记录和修改现有记录 的时候, 对这个数据列更新时间 补充: 所有时间和日期的数据类型: datetime 和timestamp作为自动更新时间字段的区别: 以下 # 1 等于 # 2

mysql数据库基本操作(三)

匿名 (未验证) 提交于 2019-12-02 22:02:20
数据表操作 基础操作 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 ) job varchar ( 20 ), salary double ( 4 , 2 ) unsigned , resume text -- 注意,这里作为最后一个字段不加逗号 ); /* 约束: primary key (非空且唯一) :能够唯一区分出当前记录的字段称为主键! unique not null auto_increment 主键字段必须是数字类型。 外键约束 foreign

mysql的索引,事务,引擎

匿名 (未验证) 提交于 2019-12-02 21:59:42
索引: 1、普通索引: create index 自定义索引名称 on 库名.表名(表中的字段); 如:create index student on aa.学生表(学号); 2、唯一性索引: create unique index 自定义索引名称 on 库名.表名(表中的字段); 如:create unique index tudent on aa.学生表(学号); 注:删除索引 DROP INDEX 索引名称 ON 表名 3、主键索引: create table 表名(字段1,字段2……,PRIMARY KEYS(前面的某个字段)); alter table 库名.表名 add PRIMARY KEYS(表的某个字段); 如:create table studentss(id int(4), name char(6),age int(4),PRIMARY KEY(id)); 如:alter table studentss add primary key(id) 注:主键索引和唯一性索引的区别是,唯一性索引可以允许有空值。 注: 删除主键 如果一个主键是自增长的,不能直接删除该列的主键索引, 应当先取消自增长,再删除主键特性 alter table 表名 drop primary key; 【如果这个主键是自增的,先取消自增长.】 具体方法如下: alter table