您的位置:首页 > 数据库 > SQL

django 和 mysql 的连接 MySQL 查看表结构简单命令

2017-08-16 09:49 686 查看
现在数据库里先建库save

CREATE DATABASE save;


use save;

再建表

create table money


import pymysql

# 连接数据库

connect = pymysql.Connect(

host='localhost',

port=3306,

user='root',

passwd='1234',

db='save',

charset='utf8'

)

# 获取游标

cursor = connect.cursor()

# 插入数据

sql = "INSERT INTO money (name, account, saving) VALUES ( '%s', '%s', %.2f )"

data = ('雷军', '13512345678', 10000)

cursor.execute(sql % data)

connect.commit()

print('成功插入', cursor.rowcount, '条数据')

# 修改数据

sql = "UPDATE money SET saving = %.2f WHERE account = '%s' "

data = (8888, '13512345678')

cursor.execute(sql % data)

connect.commit()

print('成功修改', cursor.rowcount, '条数据')

# 查询数据

sql = "SELECT name,saving FROM money WHERE account = '%s' "

data = ('13512345678',)

cursor.execute(sql % data)

for row in cursor.fetchall():

print("Name:%s\tSaving:%.2f" % row)

print('共查找出', cursor.rowcount, '条数据')

# 删除数据

sql = "DELETE FROM money WHERE account = '%s' LIMIT %d"

data = ('13512345678', 1)

cursor.execute(sql % data)

connect.commit()

print('成功删除', cursor.rowcount, '条数据')

# 事务处理

sql_1 = "UPDATE money SET saving = saving + 1000 WHERE account = '18012345678' "

sql_2 = "UPDATE money SET expend = expend + 1000 WHERE account = '18012345678' "

sql_3 = "UPDATE money SET income = income + 2000 WHERE account = '18012345678' "

try:

cursor.execute(sql_1) # 储蓄增加1000

cursor.execute(sql_2) # 支出增加1000

cursor.execute(sql_3) # 收入增加2000

except Exception as e:

connect.rollback() # 事务回滚

print('事务处理失败', e)

else:

connect.commit() # 事务提交

print('事务处理成功', cursor.rowcount)

# 关闭连接

cursor.close()
connect.close()

修改view.py里的文件

原网址 http://blog.csdn.net/johline/article/details/69549131


MySQL 查看表结构简单命令

一、简单描述表结构,字段类型

desc tabl_name;

显示表结构,字段类型,主键,是否为空等属性,但不显示外键。

例如:desc table_name



二、查询表中列的注释信息

select * from information_schema.columns

where table_schema = 'db' #表所在数据库

and table_name = 'tablename' ; #你要查的表

例如:



可以自动选择你需要信息

三、只查询列名和注释

select column_name, column_comment from information_schema.columns where table_schema ='db' and table_name = 'tablename' ;

例如:



四、#查看表的注释

select table_name,table_comment from information_schema.tables where table_schema = 'db' and table_name ='tablename'

例如:



五、查看表生成的DDL

show create table table_name;

例如:



这个命令虽然显示起来不是太容易看, 这个不是问题可以用\G来结尾,使得结果容易阅读;该命令把创建表的DDL显示出来,于是表结构、类型,外键,备注全部显示出来了。

我比较喜欢这个命令:输入简单,显示结果全面。

补充一些可能用到的命令:

建表命令:

CREATE TABLE `t_sold_order` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`dt` date DEFAULT NULL COMMENT '日期',

`hour` tinyint(2) DEFAULT '0' COMMENT '小时',

`hour_order` int(11) DEFAULT '0' COMMENT '小时订单数',

`total_order` int(11) DEFAULT '0' COMMENT '总的订单数',

`prediction` int(11) DEFAULT '0' COMMENT '预测订单数',

PRIMARY KEY (`id`),

UNIQUE KEY `dt_hour` (`dt`,`hour`)

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='实时订单数'

表操作命令:

复制表结构:create table table1 like table;

复制数据:insert into table1 select * from table

机器授权:

grant select on *.* to 'reader'@'%' identified by '123456' WITH GRANT OPTION

flush privileges

查询数据直接插入

insert into t_visual_user_domain(`user_id`,`domain`,`group`) select id,'www.baidu.com' as domain,`group` from t_visual_user;

修改表结构

alter table competitor_goods add sku_id bigint(20) unsigned DEFAULT NULL COMMENT '商品销售码';
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息