@@ -2858,8 +2858,12 @@ def to_sql(
2858
2858
2859
2859
>>> df.to_sql('users', con=engine)
2860
2860
3
2861
- >>> engine.execute("SELECT * FROM users").fetchall()
2862
- [(0, 'User 1'), (1, 'User 2'), (2, 'User 3')]
2861
+ >>> pd.read_sql_query("SELECT * FROM users", con=engine)
2862
+ index name
2863
+ 0 0 User 1
2864
+ 1 1 User 2
2865
+ 2 2 User 3
2866
+
2863
2867
2864
2868
An `sqlalchemy.engine.Connection` can also be passed to `con`:
2865
2869
@@ -2874,18 +2878,25 @@ def to_sql(
2874
2878
>>> df2 = pd.DataFrame({'name' : ['User 6', 'User 7']})
2875
2879
>>> df2.to_sql('users', con=engine, if_exists='append')
2876
2880
2
2877
- >>> engine.execute("SELECT * FROM users").fetchall()
2878
- [(0, 'User 1'), (1, 'User 2'), (2, 'User 3'),
2879
- (0, 'User 4'), (1, 'User 5'), (0, 'User 6'),
2880
- (1, 'User 7')]
2881
+ >>> pd.read_sql_query("SELECT * FROM users", con=engine)
2882
+ index name
2883
+ 0 0 User 1
2884
+ 1 1 User 2
2885
+ 2 2 User 3
2886
+ 3 0 User 4
2887
+ 4 1 User 5
2888
+ 5 0 User 6
2889
+ 6 1 User 7
2881
2890
2882
2891
Overwrite the table with just ``df2``.
2883
2892
2884
2893
>>> df2.to_sql('users', con=engine, if_exists='replace',
2885
2894
... index_label='id')
2886
2895
2
2887
- >>> engine.execute("SELECT * FROM users").fetchall()
2888
- [(0, 'User 6'), (1, 'User 7')]
2896
+ >>> pd.read_sql_query("SELECT * FROM users", con=engine)
2897
+ index name
2898
+ 0 0 User 6
2899
+ 1 1 User 7
2889
2900
2890
2901
Specify the dtype (especially useful for integers with missing values).
2891
2902
Notice that while pandas is forced to store the data as floating point,
@@ -2904,8 +2915,9 @@ def to_sql(
2904
2915
... dtype={"A": Integer()})
2905
2916
3
2906
2917
2907
- >>> engine.execute("SELECT * FROM integers").fetchall()
2908
- [(1,), (None,), (2,)]
2918
+ >>> pd.read_sql("SELECT * FROM integers", con=engine)
2919
+ A
2920
+ 0 1.0
2909
2921
""" # noqa:E501
2910
2922
from pandas .io import sql
2911
2923
0 commit comments