mysql修改字段类型

数据库基本操作(二)

China☆狼群 提交于 2019-11-28 11:03:14
课程回顾 mysql基础 1)mysql存储结构: 数据库 -> 表 -> 数据 sql语句 2)管理数据库: 增加: create database 数据库 default character utf8; 删除: drop database 数据库; 修改: alter database 数据库 default character gbk; 查询: show databases / show create database 数据库; 3) 管理表: 选择数据库:use 数据库; 增加: create table 表(字段名1 字段类型,字段名2 字段类型......); 删除: drop table 表; 修改: 添加字段: alter table 表 add [column] 字段名 字段类型; 删除字段: alter table 表 drop [column] 字段名; 修改字段类型: alter table 表 modify 字段名 新的字段类型; 修改字段名称 : alter table 表 change 旧字段名 新字段名 字段类型; 修改表名称: alter table 表 rename [to] 新表名; 查询: show tables / desc student; 4) 管理数据: 增加: insert into 表(字段1,字段2,。。。) values(值1

【Django】ORM操作#1

99封情书 提交于 2019-11-28 08:05:45
目录 一、介绍 概念 由来 优势 劣势 总结 二、Django中的ORM Django项目使用MySQL Model 快速入门 1. AutoField 2. IntegerField 3. CharField 4. ForeignKey 5. DateField 6. DateTimeField 7. dalate() 字段合集 ORM字段与数据库字段对应关系 自定义字段 字段参数 1. null 2. unique 3. db_index 4. default 5. DateField 与 DateTimefield 四、关系字段 一对多 ForeignKey 字段参数 一对一 OneToOneField 字段参数 多对多 ManyToManyField 字段参数 多对多关系的三种方式 元消息 原文: http://blog.gqylpy.com/gqy/260 @ 补充:数据迁移与反迁移 # 迁移: python manage.py makemigrations # 纪录变成 python manage.py migrate # 迁移到数据库 # 反迁移: python manage.py inspectdb > models.py 执行后,会在执行的文件内写入模型类(文件可随意指定) 一、介绍 概念 对象关系映射(Object Relational Mapping

mysql 低版本导入表中包含两个TIMESTAMP报错问题

我的梦境 提交于 2019-11-28 07:18:55
错误代码: 1293 Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause 原因: mysql版本低版本不支持在一个表里面 有2个 timestamp 类型 的列. SELECT VERSION(); 来查看一下服务器的版本 1、5.7版本的 timestamp 类型 ,在表设计时多个字段为 timestamp 时,都可以使用CURRENT_TIMESTAMP作为默认值,而且都可以根据当前时间戳更新 2、而5.5-5.6.4版本中 ,在表设计时多个字段为timestamp时候,只能有一个CURRENT_TIMESTAMP作为默认值,而且要在第一个timestamp类型字段设置。如果当前的timestamp字段为非空的话默认是根据当时时间戳更新,所以此处要注意,如果你是update_time的话是可以的,如果你是create_time的话此字段为非空,那么默认根据当前时间戳更新,你以后每次修改数据都会导致创建时间变化,这是不允许的,所以此处要注意 尽量用高版本mysql 来源: https://www.cnblogs.com/niuben/p/11398505.html

mysql常用命令

萝らか妹 提交于 2019-11-28 06:06:04
MySQL常用命令汇总 你吧 Mysql常用命令 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show tables; 显示表 describe tablename; 显示具体的表结构 select 中加上distinct去除重复字段 mysqladmin drop databasename 删除数据库前,有提示。 显示当前mysql版本和当前日期 select version(),current_date; 修改mysql中root的密码: shell>mysql -h localhost -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 常用命令

时光总嘲笑我的痴心妄想 提交于 2019-11-28 06:05:52
连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1、连接到本机上的MYSQL。 首先打开命令行窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。 如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql> 2、连接到远程主机上的MYSQL。 假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令: mysql -h110.110.110.110 -u root -p 123;(注:u与root之间可以不用加空格,其它也一样) --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 修改密码 格式:mysqladmin -u用户名 -p旧密码 password 新密码 1、给root加个密码ab12。

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

程序员面试备战篇:18个经典MySQL面试专题解析,干货分享

蓝咒 提交于 2019-11-28 04:21:22
1.数据库三范式是什么? 第一范式(1NF):字段具有原子性,不可再分。(所有关系型数据库系统都满足第一范式数据库表中的字段都是单一属性的,不可再分) 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。要求数据库表中的每个实例或行必须可以被惟一地区分。通常需要为表加上一个列,以存储各个实例的惟一标识。这个惟一属性列被称为主关键字或主键。 满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。>所以第三范式具有如下特征:>>1. 每一列只有一个值 >>2. 每一行都能区分。>>3. 每一个表都不包含其他表已经包含的非主关键字信息。 2.有哪些数据库优化方面的经验? 用 PreparedStatement, 一般来说比 Statement 性能高:一个 sql发给服务器去执行,涉及步骤:语法检查、语义分析, 编译,缓存。 有外键约束会影响插入和删除性能,如果程序能够保证数据的完整性,那在设计数据库时就去掉外键。 表中允许适当冗余,譬如,主题帖的回复数量和最后回复时间等4. UNION ALL 要比UNION 快很多,所以,如果可以确认合并的两个结果集中不包含重复数据且不需要排序时的话,那么就使用 UNIONALL。>>UNION 和

表与表关系

和自甴很熟 提交于 2019-11-28 01:07:44
外键 什么是外键:让表与表有硬性层面上的关系 使用外键条件:1、表类型必须是InnoDB存储引擎。2、关联的字段即references指定的另外一个表的字段必须要唯一。 注意:1、创建表时必须先创建被关联表。2、插入数据时,也必须先插入被关联表数据。 一对多 案例1:部门和员工 思考: 一个部门可以有多个员工吗?可以 一个员工可以有多个部门吗?不可以 结论:部门与员工的关系是一对多。且外键创建在多的一方。 案例二:班级和学生 一个班级可以有多个学生吗?可以 一个学生可以有多个班级吗?不可以 结论:一对多,外键建立在多的一方即学生表里面。 案例三:老师和课程 一个课程可以有多个老师吗?可以。 一个老师可以有多个课程吗?不可以,一个老师只能教一门课程,语文老师不能同时也是数学老师,不专业。 结论:一对多,老师表里面应该设置外键。 只有一方可以一条数据对应对方的多条数据,这种关系叫做一对多。 ''' 创建部门表: ''' create table department( id int primary key auto_increment, name varchar(20) not null, dep_desc varchar(200) ); ''' 创建员工表 ''' create table employee( id int primary key auto_increment,