mysql 关键????

Posted 滕虎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 关键????相关的知识,希望对你有一定的参考价值。

http://www.cnblogs.com/wupeiqi/articles/5748496.html   练习题

21 题目着重 看看。。

 

http://www.cnblogs.com/wupeiqi/articles/5713323.html   视图

 

select  其实相当于 Python 里的print  

 

mysql> select (select count(1 ) from student where gender = \'男\') as \'男\', (select count(1 ) from student where gender = \'女\') as \'女\';

+------+------+
| 男 | 女 |
+------+------+
| 10 | 6 |
+------+------+

 、

 


CREATE VIEW team1 as select * from score where student_id = 3            视图命令 其实动态生成表  保存再视图里

 

CREATE PROCEDURE  f1() SELECT student.class_id from  student      函数 相当于存储     call   f1()  调用 它

 

-- 创建存储过程
 
delimiter //       ###mysql默认是 分号结尾的 这边定义成//结尾
create procedure p1()   
BEGIN      ##好比python里的 :
    select * from t1;    ##好比 缩进
END//                    ##终止
delimiter ;              ## 修改会默认 分号终止



-- 执行存储过程


call p1()

无参数存储过程   

BEGIN
SELECT * FROM class;
SELECT * from student;
end

 #可以批量执行多条 sql语句

 

 

#!/bin/python
#-*-coding:utf-8-*-
import  pymysql                              

conn = pymysql.connect(host = \'192.168.132.127\',user = \'tenghu\',passwd = \'111111\'
                       ,port = 3306 ,charset = \'utf8\',db = \'class_nu\')
cursor  = conn.cursor(cursor=pymysql.cursors.DictCursor)  #运行函数格式

#a = (\'狗狗\',2)
#cursor.execute(\'insert into users (name,age) values (%s,%s)\',a )
              # \'insert into users (name,age) values (%s,%s) \',a   元组形式传递参数
# reque_1 = cursor.fetchall()
# print(reque_1)

cursor.callproc(\'f1\')   ##执行函数  f1 
reslut = cursor.fetchall()
print(reslut)



 

 

-- 创建存储过程
delimiter \\\\
create procedure p1(
    in i1 int,
    in i2 int,
    inout i3 int,   ##形参,
    out r1 int      ## 实参,后期声明的变量不予理睬
)
BEGIN
    DECLARE temp1 int;
    DECLARE temp2 int default 0;
    
    set temp1 = 1;

    set r1 = i1 + i2 + temp1 + temp2;
    
    set i3 = i3 + 100;

end\\\\
delimiter ;

-- 执行存储过程
set @t1 =4;
set @t2 = 0;
CALL p1 (1, 2 ,@t1, @t2);
SELECT @t1,@t2;

有参数的存储过程 

 

 

delimiter \\\\
DROP PROCEDURE IF EXISTS proc_sql \\\\
CREATE PROCEDURE proc_sql ()
BEGIN
    declare p1 int;
    set p1 = 11;
    set @p1 = p1;

    PREPARE prod FROM \'select * from tb2 where nid > ?\';    ##prod  为 自定义命名,mysql里已 ? 作为占位符。
    EXECUTE prod USING @p1;       ##格式化   传入的值 变量 必须 @开头的  
    DEALLOCATE prepare prod; 

END\\\\
delimiter ;

动态执行SQL

 

 

 

无题


#!/bin/python
#-*-coding:utf-8-*-
import pymysql

conn = pymysql.connect(host = \'192.168.132.127\',user = \'tenghu\',passwd = \'111111\'
,port = 3306 ,charset = \'utf8\',db = \'class_nu\')
# cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) #以字典的形式创建游标

cursor = conn.cursor()
cursor.execute(\'select * from score\')
a = cursor.fetchall()
print(a)


#a = (\'狗狗\',2)
a = ((\'狗狗1\',2),(\'狗狗2\',2),(\'狗狗3\',2))
#cursor.execute(\'insert into users (name,age) values (%s,%s)\',a )
#cursor.executemany(\'insert into users (name,age) values (%s,%s)\',a ) ##many针对多个循环
# \'insert into users (name,age) values (%s,%s) \',a 元组形式传递参数
# reque_1 = cursor.fetchall()
# print(reque_1)

#cursor.callproc(\'f1\')
#cursor.execute(\'select * from teacher\')
#reslut = cursor.fetchall()
# cursor.callproc(\'p1\',args=(100,200,33,22)) ##执行存储格式的 命令调用
# r1 = cursor.fetchall()
# print(r1)
#
# cursor.execute(\'select @_p1_0,@_p1_1,@_p1_2,@_p1_3\') ##固定格式 p1为 函数名
# r2 = cursor.fetchall()
# print(r2)
#


conn.commit()
cursor.close()
conn.close()

 

 

 

 触发器 

insert  用 NEW    ,,,delete 用  OLD       update  new用 新值  old用 老值  一起用。

如果删除某个表的话  那么 表有多少行 就执行多少次。。


 

以上是关于mysql 关键????的主要内容,如果未能解决你的问题,请参考以下文章

linux中怎么查看mysql数据库版本

vs 2010代码片段

vs 2010代码片段

从mysql的片段中加载ListView

连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段

比较有用的php代码片段