mysql 常用总结[增删改查]

  1. 建库
create database;
  1. 建表
create table tablename(字段 类型...)CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# 实例
create table if not exists first_url_Season(type varchar(15) not null,first_url varchar(200),page smallint not null,url_status tinyint(1) default 0,time varchar(10))CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

#cookies:
#自增长字段:
id int primary key auto_increment,
# 表格符号类型定义
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# 时间字段,有多个类型,写入是可用函数记录写入   now(),curdate()

# byte 字段,可以存入json字段
data blob(1024),

# 增加 约束
# 增加  表格  first_url_Season  type first_url 字段 同时唯一约束,约束的名字为lim_first_url
alter table first_url_Season add constraint lim_first_url unique (type,first_url,time)

# 删除某个字段的约束
alter table tableNAME drop index 字段名

# 增加字段
alter table tableNAME add 字段名 字段描述;

# 删除字段
alter table tableNAME drop 字段名;
  1. 写入数据
insert into last_good_msg_Season values(写入的数据...)
#还有其他方法;
  1. 修改数据
# 实例
#          |-----------条件--------------|   |-------修改-----|
# 更新 字段 页数为10   type 为sales  的数据  rank 字段 修改为 55
update second_url_Season set rank=55 where page=10 and type='sales;
# 多个字段修改(用逗号区分开来)
update second_url_Season set rank=55,price=11200 where page=10 and type='sales;
  • 问题总结

  • 字符集已经是utf8mb4,插入表情符号依然报错
    分为三个层级,数据库级,表级,还有列级,查看子字符集类型

# 查看创建表的语句
show create table table_name;
# 查看表字段的语句
show full columns from table_name;
相关修改语句:
alter table table_name modify column_name varchar(100) charset utf8mb4;

以上情况确认,却依然报错,解决办法:
在插入数据前:set names utf8mb4;
再插入数据:

#允许远程访问问题

use mysql; # 选择mysql这个库
# *.*.*.*为指定的ip地址,pwd是访问密码
# 意思就是允许*.*.*.*这个ip以pwd为登录密码远程访问
# 如果要设置所有ip允许访问,将*.*.*.*替换成%,注意要!!!保留单引号''
# 如果出错,请注意不要使用双引号,请用单引号单引号 
GRANT ALL PRIVILEGES ON *.* TO 'root'@'*.*.*.*' IDENTIFIED BY pwd WITH GRANT OPTION;  
# 更新设置
flush privileges;

#多表联查

#  table: t1(id,name,age)  t2(id,t1_id,score,math)
# 联查 t1 t2 除id 的所有有效字段
select t1.name,t1.age,t2.score,t2.math from t1,t2 where t1.id=t2.t1_id;

  1. 单双引号同时存在str中,报错问题
	str_msg='this is "author"'
	insert_sql = "insert into t1 values(0,'%s')"%str_msg
	# 此中情况会报错,处理方法如下
	用pymysql自带的方法处理
	str_msg = pymysql.escape_string(msg_str)
	# 再写入即可
	
  1. 写入列表,cookies等等
	# item 为写入内容
	import json
	item = json.dumps(item)
	# 再插入 blob字段即可
	# 该字段文章顶部可参考/
	
  1. 查询--关于日期的函数
    # 筛选time列中,时间问今天的数据			[准确到天数]
	select id from sku_list where time=curdate();
	# 筛选time列中,时间问当前时刻的数据  [now()准确至秒]
	select id from sku_list where time=now();

更多相关函数请参考mysql日期函数

解决!
参考文章:http://www.thinkphp.cn/topic/54211.html

你可能感兴趣的:(python后端开发,笔记)