Mysql 增删查改等sql语句

7 篇文章 0 订阅
5 篇文章 0 订阅
插入一条记录
insert into user(ITCode, UserName, Password, Salt, province) values('name', 8000000, 31, 1, '河北')

插入多条记录
INSERT INTO record (name) VALUES ('a'),('b'),('c');
insert into pj_tester(ProjectID,InProject,Tester,JoinDate,LeaveDate) values('1','1','1','1','1'),('1','1','1','1','1')

删除多条记录
DELETE FROM record WHERE name IN ('a', 'b');

DELETE FROM record WHERE name = 'a' or name = 'b';

更新一条记录
update user set ITCode = \"{uf.ITCode}\", UserName = \"{uf.UserName}\", EmailAddress= \"{uf.EmailAddress}\",Gender = \"{uf.Gender}\"," +
        //$"Location = \"{uf.Location}\",Department = \"{uf.Department}\",Labour = \"{uf.Labour}\",Role = \"{uf.Role}\" where ITCode=\"{itCode}\";

获取搜索个数
select count(*) from user where UserName like '%a%'

时间段查询,一定要加DATE_FORMAT

select * from project where Brand like '%%' and ProjectMode like '%%' and Status like '%%' and TestSite like '%%'   and DATE_FORMAT(StartDate,'%Y-%m-%d') >= '2020-06-01' and DATE_FORMAT(EndDate,'%Y-%m-%d') <= '2020-06-19' order by Status Asc LIMIT 0,10

批量更新一条记录中的单个字段
UPDATE user
    SET name = CASE id
        WHEN 1 THEN 'update_name1'
        WHEN 2 THEN 'update_name2'
    END
WHERE id IN (1, 2);
 
# 批量更新一条记录中的多个字段
UPDATE user
    SET name = CASE id
        WHEN 3 THEN 'update_name3'
        WHEN 4 THEN 'update_name4'
    END,
    pwd = CASE id
        WHEN 5 THEN 'update_pwd5'
    END
WHERE id IN (3, 4, 5);

update machine set Status='Waiting', Owner='wuxx10'  Where MachineID IN('Knowckout2-1','MOFUSHI_M710TS_B250_KT1-1','Pippen1-1')


添加字段:
   默认在最后添加:`alter table user add age int(3);`
   在指定字段后添加:`alter table user add email varchar(60) after password;`
   在开头添加字段:`alter table user add id int(11) first;
删除字段:`alter table user drop age;


如何修改密码(V8.0.18)
控制台输入指令:
mysql -uroot -p

输入旧密码
Enter password: *********

输入语句NewPassword处为你要修改的密码
mysql>  ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
Query OK, 0 rows affected (0.02 sec)


联合查询

这种场景下得到的是A的所有数据,和满足某一条件的B的数据;B中补存在数据则自动填充null

select a.*, b.* from user a left join pj_tester b on a.ITCode = b.Tester

 

一些需要注意的坑:

Window下查询语句不区分大小写,需要加binary来区分大小写       

string strQueryCmd = $"select * from {strTable} where ITCode=\"{itCode}\""; //不区分大小写
string strQueryCmd = $"select * from {strTable} where binary ITCode=\"{itCode}\"";//区分大小写

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用变量和%s代替的Python函数来执行MySQL增删查改操作。请确保您已经安装了Python MySQL数据库驱动程序。 ```python import mysql.connector # 连接到MySQL数据库 def connect(): cnx = mysql.connector.connect(user='your_username', password='your_password', host='your_host', database='your_database') return cnx # 关闭MySQL数据库连接 def close(cnx): cnx.close() # 执行MySQL查询 def execute_query(query, values): cnx = connect() cursor = cnx.cursor() cursor.execute(query, values) result = cursor.fetchall() cursor.close() close(cnx) return result # 执行MySQL操作(增、删、改) def execute_operation(query, values): cnx = connect() cursor = cnx.cursor() cursor.execute(query, values) cnx.commit() cursor.close() close(cnx) # 插入数据 def insert_data(table_name, column_values): query = "INSERT INTO %s (%s) VALUES (%s)" columns = ', '.join(column_values.keys()) values = ', '.join(['%s'] * len(column_values)) query = query % (table_name, columns, values) execute_operation(query, tuple(column_values.values())) # 修改数据 def update_data(table_name, set_column_values, where_column_values): query = "UPDATE %s SET %s WHERE %s" set_columns = ', '.join([f"{col} = %s" for col in set_column_values.keys()]) where_columns = ' AND '.join([f"{col} = %s" for col in where_column_values.keys()]) query = query % (table_name, set_columns, where_columns) values = tuple(set_column_values.values()) + tuple(where_column_values.values()) execute_operation(query, values) # 删除数据 def delete_data(table_name, column_values): query = "DELETE FROM %s WHERE %s" where_columns = ' AND '.join([f"{col} = %s" for col in column_values.keys()]) query = query % (table_name, where_columns) values = tuple(column_values.values()) execute_operation(query, values) # 查询数据 def select_data(table_name, column_values): query = "SELECT * FROM %s WHERE %s" where_columns = ' AND '.join([f"{col} = %s" for col in column_values.keys()]) query = query % (table_name, where_columns) values = tuple(column_values.values()) result = execute_query(query, values) return result ``` 在上面的代码中,您需要将“your_username”、“your_password”、“your_host”和“your_database”替换为您自己的MySQL数据库连接详细信息,将“table_name”替换为您要操作的表的名称。 要插入、更新、删除和查询数据,请使用相应的函数,并将数据作为包含列名和值的字典传递。例如: ```python # 插入数据 data = {'column1': 'value1', 'column2': 'value2', 'column3': 'value3'} insert_data('table_name', data) # 修改数据 set_data = {'column1': 'new_value1', 'column2': 'new_value2'} where_data = {'column3': 'value3'} update_data('table_name', set_data, where_data) # 删除数据 data = {'column1': 'value1'} delete_data('table_name', data) # 查询数据 data = {'column1': 'value1'} result = select_data('table_name', data) print(result) ``` 请注意,这些函数使用%s占位符来代替变量,在执行查询和操作时,使用execute_query和execute_operation函数分别执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值