当前位置:   article > 正文

Mysql 数据库常用操作_mysql insert overwrite

mysql insert overwrite

1. 常用SQL语句

shell 连接测试

mysql -h47.89.7.156 -uroot -P3306 -phello test_db

1.1 查改增删

1. 插入一条数据

insert into table_name(name,sex) values('Joe','男');

INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。目标表中任何已存在的行都不会受影响。

  1. INSERT INTO table2
  2. SELECT * FROM table1;

insert overwrite table 语句从一个表复制数据,目标表中数据会全部被覆盖。

  1. insert overwrite table table_name
  2. select * from table1;

2. 更新一条数据

update table_name set name='807u' where id=11;

3.  删除一条数据

delete from table_name [WHERE condition(s)];

4. row_number()

mysql 8.0以上版本实现了row_number(),以下版本可自己实现。

可先通过 group by 分组,然后 cnt>2 的单独筛选出来进行处理。

下面代码可将重复两次及以上的uid记录全部筛选出来。

  1. select a.*
  2. from table_name a
  3. join (
  4. select uid, count(1)
  5. from table_name
  6. group by uid
  7. having count(1)>1
  8. ) b
  9. on a.uid=b.uid;

1.2 创建表

  1. use db_name;
  2. drop table if exists table_name;
  3. create table table_name as
  4. select a.*
  5. from table_name1 a;

1.3 索引的查增删

  1. # 为表字段fid、update_time分别创建索引
  2. CREATE INDEX fid_inx ON table1 (fid);
  3. CREATE INDEX update_time_inx ON table1 (update_time);
  4. # 删除索引update_time_inx
  5. drop index update_time_inx on table1;
  6. # 查看表table1的所有索引
  7. show index from table1;

2.  python方式

2.1 连接mysql

  1. import MySQLdb
  2. cur = None
  3. conn = None
  4. # 初始化连接
  5. def init():
  6. global conn
  7. global cur
  8. conn = MySQLdb.connect(
  9. host='10.94.136.186',
  10. port=3306,
  11. user='root',
  12. db='database_temp'
  13. )
  14. cur = conn.cursor()
  15. # 关闭连接
  16. def finish():
  17. if cur:
  18. cur.close()
  19. conn.commit()
  20. conn.close()

2.2 插入一条数据

  1. def insert_info_to_db(table_name, cellid, city_code):
  2. insert_sql = "insert into " + table_name + " values(%s, %s)"
  3. cur.execute(insert_sql, (cellid, city_code))

2.3 测试

  1. if __name__ == '__main__':
  2. # 1. connect db
  3. init()
  4. table_name = 'tablename_temp'
  5. # 2. create table
  6. cur.execute("DROP TABLE IF EXISTS " + table_name)
  7. create_table_sql = "CREATE TABLE " + table_name + \
  8. "(cellid int(20) not null," \
  9. "city_code int(20) NOT NULL, " \
  10. "primary key(cellid, city_code));"
  11. cur.execute(create_table_sql)
  12. # 3. insert info
  13. insert_info_to_db(table_name, 11, 22)
  14. # 4. close db
  15. finish()

3. 好用的SQL工具

3.1 SQL格式化工具

SQL格式化

 一款很好用的SQL美化工具,和DBeaver搭配效果超级棒!!!!

3.2 DBeaver 数据库连接工具

 点击“+”可以连接各种数据库,比Navicat还好用,能够快速调试SQL语句,定位问题。

 以连接Mysql为例:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/397232
推荐阅读
相关标签
  

闽ICP备14008679号