Changes for page 2 Script
Last modified by Devin Chen on 2025/06/06 14:03
From version 70.1
edited by Theodore Xu
on 2023/08/25 09:48
on 2023/08/25 09:48
Change comment:
There is no comment for this version
To version 64.1
edited by Theodore Xu
on 2023/08/25 09:08
on 2023/08/25 09:08
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 9 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1483,186 +1483,3 @@ 1483 1483 [[image:image-20220709165402-21.png]] 1484 1484 1485 1485 == **2.7 Mysql** == 1486 - 1487 -=== 1.Install Mysql software === 1488 - 1489 -Download the latest version of Mysql. 1490 - 1491 -(% style="text-align:center" %) 1492 -[[image:Mysql的软件版本.png]] 1493 - 1494 -=== 2.Navicat connect Mysql === 1495 - 1496 -Connecting to Mysql with navicat. 1497 - 1498 -(% style="text-align:center" %) 1499 -[[image:连接到mysql.png]] 1500 - 1501 -=== 3.Create database === 1502 - 1503 -Character set should be choose utf8mb3/utf8mb4 and Collation choose utf8mb3_danish_ci/utf8mb4_danish_ci. 1504 - 1505 -(% style="text-align:center" %) 1506 -[[image:创建数据库.png]] 1507 - 1508 -=== 4.Create data table === 1509 - 1510 -Create a table, enter the fields you need. 1511 - 1512 -(% style="text-align:center" %) 1513 -[[image:创建表1.png]] 1514 - 1515 -Save, enter table name. 1516 - 1517 -(% style="text-align:center" %) 1518 -[[image:创建表2.png]] 1519 - 1520 -=== 5.Input Table Data === 1521 - 1522 -(% style="text-align:center" %) 1523 -[[image:输入或者导入数据.png]] 1524 - 1525 -=== 6.Script === 1526 - 1527 -**luaMySql.init(string sourcename, string username, string password, string host, number port, string character)** 1528 - 1529 -**Function:** Configure database connection parameters 1530 - 1531 -**Parameter:** 1532 - 1533 -sourcename: the name of database 1534 - 1535 -username: the username of the connection 1536 - 1537 -password: the password of the connection 1538 - 1539 -host: the host name of the connection 1540 - 1541 -port: the host port of the connection 1542 - 1543 -character: the character set of the connection 1544 - 1545 -**Return:** 1546 - 1547 -Succeed: string 1548 - 1549 -Failed: multi 1550 - 1551 -**luaMySql.exec(string statement)** 1552 - 1553 -**Function:** Execute the given SQL statement without returning the result set (add, delete, change) 1554 - 1555 -**Parameter:** 1556 - 1557 -statement: the given SQL statement 1558 - 1559 -**Return:** 1560 - 1561 -Succeed: status: returns the number of rows affected by SQL statement execution. 1562 - 1563 -Failed: nil, errorString 1564 - 1565 -**luaMySql.execWithResult(string statement)** 1566 - 1567 -**Function:** Execute the given SQL statement returning the result set (check) 1568 - 1569 -**Parameter:** 1570 - 1571 -statement: the given SQL statement 1572 - 1573 -**Return:** 1574 - 1575 -Succeed: table: returns the result set 1576 - 1577 -Failed: nil, errorString 1578 - 1579 -**For example:** 1580 - 1581 - 1582 -{{code language="LUA"}} 1583 --- Assuming the "mysqlclient" library is properly installed and available 1584 -mysql = require("mysqlclient") 1585 - 1586 -function DataInitRight() 1587 - local dbName = "excel" 1588 - local user = "root" 1589 - local pwd = "XXXXX" 1590 - local host = "192.168.39.146" 1591 - local port = 3306 1592 - local character = "utf8mb3" 1593 - 1594 - mysql.init(dbName, user, pwd, host, port, character) 1595 -end 1596 - 1597 -function ExecFunc() 1598 - status, errorString = mysql.exec("delete from student where Name = 'XXX';") --Delete statement, column name = table element 1599 - if nil == status then 1600 - print("ExecFunc() error:", errorString) 1601 - return -1 1602 - else 1603 - print("the number of rows affected by the command:", status) 1604 - end 1605 - return 0 1606 -end 1607 - 1608 - 1609 -function ExecWithResultFunc() 1610 - status, errorString = mysql.execWithResult("select * from student;") 1611 - if nil == status then 1612 - print("ExecWithResultFunc() error:", errorString) 1613 - return -1 1614 - else 1615 - print("ExecWithResultFunc() success : status type = ", type(status)) 1616 - print("ExecWithResultFunc() success : status len = ", #status) 1617 - local num = #status 1618 - local i = 1 1619 - if num > 0 then 1620 - for i = 1, num, 1 do 1621 - local var = string.format("select result[%d] :Num = %d,Name = %s,Age = %d", i, status[i].Num, status[i].Name,status[i].Age) --Iterate through the data in the table, noting whether the elements are strings or numbers 1622 - print(var) 1623 - end 1624 - end 1625 - print("---------------") 1626 - end 1627 - return 0 1628 -end 1629 - 1630 -function MySQL.main() 1631 - print("script running ...") 1632 - DataInitRight() 1633 - 1634 - -- use exec demo 1635 - if ExecFunc() < 0 then 1636 - return 1637 - end 1638 - 1639 - -- use execWithResult demo 1640 - if ExecWithResultFunc() < 0 then 1641 - return 1642 - end 1643 - 1644 - print("script running success") 1645 -end 1646 -{{/code}} 1647 - 1648 -=== 7.Debug === 1649 - 1650 -(% style="text-align:center" %) 1651 -[[image:调试结果.png]] 1652 - 1653 -=== 8.Problem === 1654 - 1655 -During our debugging process it may there are some problems about Mysql, such as 1656 - 1657 -* MySQL: Host 192.168.XXX.XXX is not allowed to connect. 1658 -* MySQL: Host 192.168.XXX.XXX is blocked because of many connection errors. 1659 -* MySQL: SSL connection error: unknown error number. 1660 -* ((( 1661 -1449-The user specified as a definer(‘mysql.infoschema‘@localhost‘) does not exist. 1662 -))) 1663 - 1664 -This type of problem has nothing to do with scripts or devices, it is a Mysql configuration issue. If you have any of these problems, please look for a solution online. 1665 - 1666 -{{info}} 1667 -✎Note: If you want to use CMD to access Mysql, you need to add the bin file to the environment variable, please check online for details of the operation. 1668 -{{/info}}
- Mysql的软件版本.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.AiXia - Size
-
... ... @@ -1,1 +1,0 @@ 1 -78.4 KB - Content
- 创建数据库.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.AiXia - Size
-
... ... @@ -1,1 +1,0 @@ 1 -53.2 KB - Content
- 创建表1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.AiXia - Size
-
... ... @@ -1,1 +1,0 @@ 1 -49.0 KB - Content
- 创建表2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.AiXia - Size
-
... ... @@ -1,1 +1,0 @@ 1 -18.4 KB - Content
- 调试结果.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.AiXia - Size
-
... ... @@ -1,1 +1,0 @@ 1 -68.4 KB - Content
- 输入或者导入数据.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.AiXia - Size
-
... ... @@ -1,1 +1,0 @@ 1 -26.6 KB - Content
- 连接到mysql.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.AiXia - Size
-
... ... @@ -1,1 +1,0 @@ 1 -59.0 KB - Content
- 连接数据库1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.AiXia - Size
-
... ... @@ -1,1 +1,0 @@ 1 -56.5 KB - Content
- 连接数据库2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.AiXia - Size
-
... ... @@ -1,1 +1,0 @@ 1 -25.5 KB - Content