Mysql基础操作笔记

Mysql基础操作笔记
Mysql基础操作笔记

MySql 入门教程

一、连接MYSQL

格式:mysql -h 主机地址-u 用户名-p 用户密码

1、例1:连接到本机上的MYSQL。

首先在打开DOS 窗口,然后进入目录mysqlbin,再键入命令mysql -uroot -p,

回车后提示你输密码,如果刚安装好MYSQL,终极用户root 是没有密码的,故直

接回车即可进入到MYSQL 中了,MYSQL 的提示符是:mysql>

2、例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,

用户名为root,密码为abcd123。则键入以下命令:

mysql -h110.110.110.110 -uroot -pabcd123

(注:u 和root 能不用加空格,其他也相同)

3、退出MYSQL 命令:exit (回车)

二、修改密码

格式:mysqladmin -u 用户名-p 旧密码password 新密码

1、例1:给root 加个密码ab12。首先在DOS 下进入目录mysqlbin,然后键入以下命令

mysqladmin -uroot -password ab12

注:因为开始时root 没有密码,所以-p 旧密码一项就能省略了。

2、例2:再将root 的密码改为djg345。

mysqladmin -uroot -pab12 password djg345

三、增加新用户(注意:和上面不同,下面的因为是MYSQL 环境中的命令,所以后面

都带一个分号作为命令结束符)

格式:grant select on 数据库.* to 用户名@登录主机identified by "密码"

例1、增加一个用户test1 密码为abc,让他能在所有主机上登录,并对所有数据库有

查询、插入、修改、删除的权限。首先用以root 用户连入MYSQL,然后键入以下命令:grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";

但例1 增加的用户是十分危险的,你想如某个人知道test1 的密码,那么他就能在Generated by Foxit PDF Creator ? Foxit Software

https://www.360docs.net/doc/f4975484.html, For evaluation only.

internet 上的所有一台计算机上登录你的mysql 数据库并对你的数据能为所欲为了,解决办

法见例2。

例2、增加一个用户test2 密码为abc,让他只能在localhost 上登录,并能对数据库mydb 进行查询、插入、修改、删除的操作(localhost 指本地主机,即MYSQL 数据库所在的那台主机),这样用户即使用知道test2 的密码,他也无法从internet 上直接访问数据库,只能通过MYSQL 主机上的web 页来访问了。

grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";

如果你不想test2 有密码,能再打一个命令将密码消掉。

grant select,insert,update,delete on mydb.* to test2@localhost identified by "";

下面来看看MYSQL 中有关数据库方面的操作。注意:必须首先登录到MYSQL 中,以

下操作都是在MYSQL 的提示符下进行的,而且每个命令以分号结束。

又一篇安装的文章

PHP+MySQL+Linux 目前已逐渐成为小型web 服务器的一种经典组合。在indows 环境下构筑和调试MySQL 数据库是许多网站研发者的一种最佳选择。本人在视窗系统98 环境下初学MySQL,现将学习过程和经验总结出来供大家参考。

1、下载mysql-3.23.35-win.zip 并解压;

2、运行setup.exe;选择d:\mysql,"tyical install"

3、启动mysql,有如下方法:

方法一:使用winmysqladmin

1)、进入d::\mysql\bin 目录,运行winmysqladmin.exe,在屏幕右下角的任务栏内会有一个带红色的图符

2)、鼠标左键点击该图符,选择“show me”,出现“WinMySQLAdmin”操作界面;首次运行

时会中间会出现一个对话框需求输入并设置你的用户名和口令

3)、选择“My.INI setup”

4)、在“mysqld file”中选择“mysqld-opt”(win9x)或“mysqld-nt”(winNT)

5)、选择“Pick-up or Edit my.ini values”能在右边窗口内对你的my.ini 文件进行编辑

6)、选择“Save Modification”保存你的my.ini 文件

7)、如果你想快速使用winmysqladmin(开机时自动运行),选择“Create ShortCut on Start Menu”

8)、测试:

进入DOS 界面;

在d:\mysql\bin 目录下运行mysql,进入mysql 交互操作界面

输入show databases 并回车,屏幕显示出当前已有的两个数据库mysql 和test

方法二:不使用winmysqladmin

Generated by Foxit PDF Creator ? Foxit Software

https://www.360docs.net/doc/f4975484.html, For evaluation only.

1)、在DOS 窗口下,进入d:/mysql/bin 目录

2)、win9X 下)运行:

mysqld

在NT 下运行:

mysqld-nt --standalone

3)、此后,mysql 在后台运行

4)、测试mysql:(在d:/mysql/bin 目录下)

a)、mysqlshow

正常时显示已有的两个数据库mysql 和test

b)、mysqlshow -u root mysql

正常时显示数据库mysql 里的五个表:

columns_priv

db

host

tables_priv

user

c)、mysqladmin version status proc

显示版本号、状态、进程信息等

d)、mysql test

进入mysql 操作界面,当前数据库为test

5)、mysql 关闭方法:

mysqladmin -u root shutdown

4、至此,MySQL 已成功安装,接着能熟悉MySQL 的常用命令并创建自己的数据库了。

上篇讲了怎么安装并测试MySQL,环境建好后就能继续我们的学习了。本篇主要熟悉一写常用命令。

1、启动MySQL 服务器

实际上上篇已讲到怎么启动MySQL。两种方法:

一是用winmysqladmin,如果机器启动时已自动运行,则可直接进入下一步操作。

二是在DOS 方式下运行

d:mysqlbinmysqld

2、进入mysql 交互操作界面

在DOS 方式下,运行:

d:mysqlbinmysql

出现:

mysql

的提示符,此时已进入mysql 的交互操作方式。

如果出现"ERROR 2003: Can’t connect to MySQL server on ’localhost’(10061)“,

说明你的MySQL 还没有启动。

3、退出MySQL 操作界面

在mysql>提示符下输入quit 能随时退出交互操作界面:

Generated by Foxit PDF Creator ? Foxit Software

https://www.360docs.net/doc/f4975484.html, For evaluation only.

mysql> quit

Bye

你也能用control-D 退出。

4、第一条命令

mysql> select version(),current_date();

+----------------+-----------------+

| version() | current_date() |

+----------------+-----------------+

| 3.23.25a-debug | 2001-05-17 |

+----------------+-----------------+

1 row in set (0.01 sec)

mysql>

此命令需求mysql 服务器告诉你他的版本号和当前日期。尝试用不同大小写操作上述命令,看结果怎么。

结果说明mysql 命令的大小写结果是一致的。

练习如下操作:

mysql>Select (20+5)*4;

mysql>Select (20+5)*4,sin(pi()/3);

mysql>Select (20+5)*4 AS Result,sin(pi()/3); (AS: 指定假名为Result)

5、多行语句

一条命令能分成多行输入,直到出现分号“;”为止:

mysql> select

-> USER()

-> ,

-> now()

->;

+--------------------+---------------------+

| USER() | now() |

+--------------------+---------------------+

| ODBC@localhost | 2001-05-17 22:59:15 |

+--------------------+---------------------+

1 row in set (0.06 sec)

mysql>

注意中间的逗号和最后的分号的使用方法。6、一行多命令

输入如下命令:

mysql> SELECT USER(); SELECT NOW();

+------------------+

| USER() |

+------------------+

Generated by Foxit PDF Creator ? Foxit Software https://www.360docs.net/doc/f4975484.html, For evaluation only. | ODBC@localhost |

+------------------+

1 row in set (0.00 sec)

+---------------------+

| NOW() |

+---------------------+

| 2001-05-17 23:06:15 |

+---------------------+

1 row in set (0.00 sec)

mysql>

注意中间的分号,命令之间用分号隔开。

7、显示当前存在的数据库

mysql> show databases;

+----------+

| Database |

+----------+

| mysql|

| test |

+----------+

2 row in set (0.06 sec)

mysql>

8、选择数据库并显示当前选择的数据库mysql> USE mysql

Database changed

mysql>

(USE 和QUIT 命令不必分号结束。)

mysql> select database();

+---------------+

| database()|

+---------------+

| mysql |

+---------------+

1 row in set (0.00 sec)

9、显示当前数据库中存在的表

mysql> SHOW TABLES;

10、显示表(db)的内容

mysql>select * from db;

11、命令的取消

Generated by Foxit PDF Creator ? Foxit Software

https://www.360docs.net/doc/f4975484.html, For evaluation only.

当命令输入错误而又无法改动(多行语句情形)时,只要在分号出现前就能用 c 来取消该条命令

mysql> select

-> user()

-> c

mysql>

这是一些最常用的最基本的操作命令,通过多次练习就能牢牢掌捂了。

了解了一些最基本的操作命令后,我们再来学习怎么创建一个数据库和数据库表。

1、使用SHOW 语句找出在服务器上当前存在什么数据库:

mysql> SHOW DATABASES;

+----------+

| Database |

+----------+

| mysql|

| test |

+----------+

3 rows in set (0.00 sec)

2、创建一个数据库abccs

mysql> CREATE DATABASE abccs;

注意不同操作系统对大小写的敏感。

3、选择你所创建的数据库

mysql> USE abccs

Database changed

此时你已进入你刚才所建立的数据库abccs.

4、创建一个数据库表

首先看目前你的数据库中存在什么表:

mysql> SHOW TABLES;

Empty set (0.00 sec)

说明刚才建立的数据库中还没有数据库表。下面来创建一个数据库表mytable:

我们要建立一个你公司员工的生日表,表的内容包含员工姓名、性别、出生日期、出生城市。mysql> CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1),

-> birth DATE, birthaddr VARCHAR(20));

Query OK, 0 rows affected (0.00 sec)

Generated by Foxit PDF Creator ? Foxit Software

https://www.360docs.net/doc/f4975484.html, For evaluation only.

由于name、birthadd 的列值是变化的,因此选择VARCHAR,其长度不一定是20。能选

择从

1 到255 的所有长度,如果以后需要改动他的字长,能使用ALTER TABLE 语句。);

性别只需一个字符就能表示:"m"或"f",因此选用CHAR(1);

birth 列则使用DATE 数据类型。

创建了一个表后,我们能看看刚才做的结果,用SHOW TABLES 显示数据库中有哪些表:mysql> SHOW TABLES;

+---------------------+

| Tables in menagerie |

+---------------------+

| mytables|

+---------------------+

5、显示表的结构:

mysql> DESCRIBE mytable;

+-------------+-------------+------+-----+---------+-------+

| Field | Type| Null | Key | Default | Extra |

+-------------+-------------+------+-----+---------+-------+

| name| varchar(20) | YES | | NULL| |

| sex | char(1) | YES | | NULL| |

| birth | date| YES | | NULL| |

| deathaddr | varchar(20) | YES | | NULL| |

+-------------+-------------+------+-----+---------+-------+

4 rows in set (0.00 sec)

6、往表中加入记录

我们先用SELECT 命令来查看表中的数据:

mysql> select * from mytable;

Empty set (0.00 sec)

这说明刚才创建的表还没有记录。

加入一条新记录:

mysql> insert into mytable

-> values (’abccs’,’f’,’1977-07-07’,’china’);

Query OK, 1 row affected (0.05 sec)

再用上面的SELECT 命令看看发生了什么变化。

我们能按此方法一条一条地将所有员工的记录加入到表中。

7、用文本方式将数据装入一个数据库表

如果一条一条地输入,非常麻烦。我们能用文本文件的方式将所有记录加入你的数据库表中。

创建一个文本文件“mysql.txt”,每行包含一个记录,用定位符(tab)把值分开,并且以在CREATE TABLE 语句中列出的列次序给出,例如:

Generated by Foxit PDF Creator ? Foxit Software

https://www.360docs.net/doc/f4975484.html, For evaluation only.

abccs f 1977-07-07 china

mary f 1978-12-12 usa

tom m 1970-09-02 usa

使用下面命令将文本文件“mytable.txt”装载到mytable 表中:

mysql> LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE pet;

再使用如下命令看看是否已将数据输入到数据库表中:

mysql> select * from mytable;

上篇我们学会了怎么创建一个数据库和数据库表,并知道怎么向数据库表中添加记录。那么我们怎么从数据库表中检索数据呢?

1、从数据库表中检索信息

实际上,前面我们已用到了SELECT 语句,他用来从数据库表中检索信息。

select 语句格式一般为:

SELECT 检索关键词FROM 被检索的表WHERE 检索条件(可选)

以前所使用的“* ”表示选择所有的列。

下面继续使用我们在上篇文章中创建的表mytable:

2、查询所有数据:

mysql> select * from mytable;

+----------+------+------------+----------+

| name | sex | birth | birthaddr |

+----------+------+------------+--------+

| abccs|f| 1977-07-07 | china |

| mary |f| 1978-12-12 | usa |

| tom |m| 1970-09-02 | usa |

+----------+------+------------+----------+

3 row in set (0.00 sec)

3、修正错误记录:

如果tom 的出生日期有错误,应该是1973-09-02,则能用update 语句来修正:mysql> update mytable set birth = "1973-09-02" where name = "tom";

再用2 中的语句看看是否已更正过来。

4、选择特定行

上面修改了tom 的出生日期,我们能选择tom 这一行来看看是否已有了变化:mysql> select * from mytable where name = "tom";

Generated by Foxit PDF Creator ? Foxit Software

https://www.360docs.net/doc/f4975484.html, For evaluation only.

+--------+------+------------+------------+

| name |sex | birth | birthaddr |

+--------+------+------------+------------+

| tom|m| 1973-09-02 | usa|

+--------+------+------------+------------+

1 row in set (0.06 sec)

上面WHERE 的参数指定了检索条件。我们还能用组合条件来进行查询:mysql> SELECT * FROM mytable WHERE sex = "f" AND birthaddr = "china";

+--------+------+------------+------------+

| name |sex | birth | birthaddr |

+--------+------+------------+------------+

| abccs |f| 1977-07-07 | china |

+--------+------+------------+------------+

1 row in set (0.06 sec)

5、选择特定列

如果你想查看表中的所有人的姓名,则能这样操作:

mysql> SELECT name FROM mytable;

+----------+

| name |

+----------+

| abccs |

| mary |

| tom |

+----------+

3 row in set (0.00 sec)

如果想列出姓名和性别两列,则能用逗号将关键词name 和birth 分开:myaql> select name,birth from mytable;

6、对行进行排序

我们能对表中的记录按生日大小进行排序:

mysql> SELECT name, birth FROM mytable ORDER BY birth;

+----------+------------+

| name | birth |

+----------+------------+

| tom | 1973-09-02 |

| abccs| 1977-07-07 |

| mary | 1978-12-12 |

+----------+------------+

3 row in set (0.00 sec)

我们能用DESC 来进行逆序排序:

mysql> SELECT name, birth FROM mytable ORDER BY birth DESC; Generated by Foxit PDF Creator ? Foxit Software

https://www.360docs.net/doc/f4975484.html, For evaluation only.

+----------+------------+

| name | birth |

+----------+------------+

| mary | 1978-12-12 |

| abccs| 1977-07-07 |

| tom | 1973-09-02 |

+----------+------------+

3 row in set (0.00 sec)

7、行计数

数据库经常要统计一些数据,如表中员工的数目,我们就要用到行计数函数COUNT()。COUNT()函数用于对非NULL 结果的记录进行计数:

mysql> SELECT COUNT(*) FROM mytable;

+----------+

| COUNT(*) |

+----------+

|3 |

+----------+

1 row in set (0.06 sec)

员工中男女数量:

mysql> SELECT sex, COUNT(*) FROM mytable GROUP BY sex;

+------+----------+

| sex | COUNT(*) |

+------+----------+

| f|2 |

| m|1 |

+------+----------+

2 row in set (0.00 sec)

注意我们使用了GROUP BY 对SEX 进行了分组。

前面我们熟悉了数据库和数据库表的基本操作,目前我们再来看看怎么操作多个表。

在一个数据库中,可能存在多个表,这些表都是相互关联的。我们继续使用前面的例子。前面建立的表中包含了员工的一些基本信息,如姓名、性别、出生日期、出生地。我们再创建一个表,该表用于描述员工所发表的文章,内容包括作者姓名、文章标题、发表日期。1、查看第一个表mytable 的内容:

mysql> select * from mytable;

+----------+------+------------+-----------+

| name | sex | birth | birthaddr |

Generated by Foxit PDF Creator ? Foxit Software

https://www.360docs.net/doc/f4975484.html, For evaluation only.

+----------+------+------------+-----------+

| abccs|f | 1977-07-07 | china |

| mary |f | 1978-12-12 | usa |

| tom |m | 1970-09-02 | usa |

+----------+------+------------+-----------+

2、创建第二个表title(包括作者、文章标题、发表日期):

mysql> create table title(writer varchar(20) not null,

-> title varchar(40) not null,

-> senddate date);

向该表中填加记录,最后表的内容如下:

mysql> select * from title;

+--------+-------+------------+

| writer | title | senddate |

+--------+-------+------------+

| abccs | a1| 2000-01-23 |

| mary | b1| 1998-03-21 |

| abccs | a2| 2000-12-04 |

| tom| c1| 1992-05-16 |

| tom| c2| 1999-12-12 |

+--------+-------+------------+

5 rows in set (0.00sec)

3、多表查询

目前我们有了两个表: mytable 和title。利用这两个表我们能进行组合查询:

例如我们要查询作者abccs 的姓名、性别、文章:

mysql> SELECT name,sex,title FROM mytable,title

-> WHERE name=writer AND name=’abccs’;

+-------+------+-------+

| name | sex | title |

+-------+------+-------+

| abccs | f| a1|

| abccs | f| a2|

+-------+------+-------+

上面例子中,由于作者姓名、性别、文章记录在两个不同表内,因此必须使用组合来进行查询。必须要指定一个表中的记录怎么和其他表中的记录进行匹配。

注意:如果第二个表title 中的writer 列也取名为name(和mytable 表中的name 列相同)

而不是writer 时,就必须用https://www.360docs.net/doc/f4975484.html, 和https://www.360docs.net/doc/f4975484.html, 表示,以示差别。

再举一个例子,用于查询文章a2 的作者、出生地和出生日期:

mysql> select title,writer,birthaddr,birth from mytable,title

-> where https://www.360docs.net/doc/f4975484.html,=title.writer and title=’a2’;

Generated by Foxit PDF Creator ? Foxit Software

https://www.360docs.net/doc/f4975484.html, For evaluation only.

+-------+--------+-----------+------------+

| title | writer | birthaddr | birth |

+-------+--------+-----------+------------+

| a2| abccs | china | 1977-07-07 |

+-------+--------+-----------+------------+

有时我们要对数据库表和数据库进行修改和删除,能用如下方法实现:

1、增加一列:

如在前面例子中的mytable 表中增加一列表示是否单身single:

mysql> alter table mytable add column single char(1);

2、修改记录

将abccs 的single 记录修改为“y”:

mysql> update mytable set single=’y’ where name=’abccs’;

目前来看看发生了什么:

mysql> select * from mytable;

+----------+------+------------+-----------+--------+

| name | sex | birth | birthaddr | single |

+----------+------+------------+-----------+--------+

| abccs|f | 1977-07-07 | china | y |

| mary |f | 1978-12-12 | usa | NULL |

| tom |m | 1970-09-02 | usa | NULL |

+----------+------+------------+-----------+--------+

3、增加记录

前面已讲过怎么增加一条记录,为便于查看,重复和此:mysql> insert into mytable

-> values (’abc’,’f’,’1966-08-17’,’china’,’n’);

Query OK, 1 row affected (0.05 sec)

查看一下:

mysql> select * from mytable;

+----------+------+------------+-----------+--------+

| name | sex | birth | birthaddr | single |

+----------+------+------------+-----------+--------+

| abccs|f | 1977-07-07 | china | y |

| mary |f | 1978-12-12 | usa | NULL |

| tom |m | 1970-09-02 | usa | NULL |

| abc |f | 1966-08-17 | china | n |

+----------+------+------------+-----------+--------+

Generated by Foxit PDF Creator ? Foxit Software

https://www.360docs.net/doc/f4975484.html, For evaluation only.

3、删除记录

用如下命令删除表中的一条记录:

mysql> delete from mytable where name=’abc’;

DELETE 从表中删除满足由where 给出的条件的一条记录。再显示一下结果:

mysql> select * from mytable;

+----------+------+------------+-----------+--------+

| name | sex | birth | birthaddr | single |

+----------+------+------------+-----------+--------+

| abccs|f | 1977-07-07 | china | y |

| mary |f | 1978-12-12 | usa | NULL |

| tom |m | 1970-09-02 | usa | NULL |

+----------+------+------------+-----------+--------+

4、删除表:

mysql> drop table ****(表1 的名字),***表2 的名字;

能删除一个或多个表,小心使用。

5、数据库的删除:

mysql> drop database 数据库名;

小心使用。

6、数据库的备份:

退回到DOS:

mysql> quit

d:mysqlbin

使用如下命令对数据库abccs 进行备份:

mysqldump --opt abccs>abccs.dbb

abccs.dbb 就是你的数据库abccs 的备份文件。

7、用批处理方式使用MySQL:

首先建立一个批处理文件mytest.sql,内容如下:

use abccs;

select * from mytable;

select name,sex from mytable where n ame=’abccs’;

在DOS 下运行如下命令:

d:mysqlbin mysql < mytest.sql

在屏幕上会显示执行结果。

如果想看结果,而输出结果非常多,则能用这样的命令:Generated by Foxit PDF Creator ? Foxit Software

https://www.360docs.net/doc/f4975484.html, For evaluation only.

mysql < mytest.sql | more

我们还能将结果输出到一个文件中:

mysql < mytest.sql > mytest.out

Generated by Foxit PDF Creator ? Foxit Software

https://www.360docs.net/doc/f4975484.html, For evaluation only.

传智播客mybatis课堂笔记

mybatis 第一天mybatis的基础知识 课程安排: mybatis和springmvc通过订单商品案例驱动 第一天:基础知识(重点,内容量多) 对原生态jdbc程序(单独使用jdbc开发)问题总结 mybatis框架原理(掌握) mybatis入门程序 用户的增、删、改、查 mybatis开发dao两种方法: 原始dao开发方法(程序需要编写dao接口和dao实现类)(掌握) mybaits的mapper接口(相当于dao接口)代理开发方法(掌握)mybatis配置文件SqlMapConfig.xml mybatis核心: mybatis输入映射(掌握) mybatis输出映射(掌握) mybatis的动态sql(掌握) 第二天:高级知识 订单商品数据模型分析 高级结果集映射(一对一、一对多、多对多) mybatis延迟加载 mybatis查询缓存(一级缓存、二级缓存) mybaits和spring进行整合(掌握) mybatis逆向工程 1对原生态jdbc程序中问题总结 1.1环境 java环境:jdk1.7.0_72 eclipse:indigo mysql:5.1

1.2创建mysql数据 导入下边的脚本: sql_table.sql:记录表结构 sql_data.sql:记录测试数据,在实际企业开发中,最后提供一个初始化数据脚本 1.3jdbc程序 使用jdbc查询mysql数据库中用户表的记录。 创建java工程,加入jar包: 数据库驱动包(mysql5.1) 上边的是mysql驱动。 下边的是oracle的驱动。 程序代码: 1.4问题总结 1、数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响数据库性能。 设想:使用数据库连接池管理数据库连接。 2、将sql语句硬编码到java代码中,如果sql 语句修改,需要重新编译java代码,不利于

Enterprise-Architect-中文经典教程

Enterprise Architect 中文经典教程 一、Enterprise Architect简介 Enterprise Architect是一个对于软件系统开发有着极好支持的CASE软件(Computer Aided Software Engineering)。EA不同于普通的UML画图工具(如VISIO),它将支撑系统开发的全过程。在需求分析阶段,系统分析与设计阶段,系统开发及部署等方面有着强大的支持,同时加上对10种编程语言的正反向工程,项目管理,文档生成,数据建模等方面。可以让系统开发中各个角色都获得最好的开发效率。 二、创建新项目 安装好了EA汉化版后,启动软件。点击“创建新的项目”,打开创建新项目对话框。 【图1】 这里可以选择各种的初始的模板包。 【图2】

我们选择了其中几个,然后确定打开了项目浏览器。我们的项目将从这里开始了。 【图3】 三、EA软件配置 在使用软件之前,我们先来对它进行配置。打开“工具”–>“选项”。 【图4】 常规配置中,比较重要的是作者这项。因为在EA项目的团队协作中,作者是每个人的身份标识。 在代码工程中,最好把文件编码设置成UTF8或者是GB中文。 其他方面的配置,因为都是中文的,也比较容易理解。有些不明的地方,可以多琢磨。 另外对于最下面的十种编程语言,可以根据自己的需要,进行一些配置。比如PHP,可以配置PHP4或者是PHP5,那么生成的代码也是有些不同的。还可以隐藏其他没有用到的语言。 四、用例图,类图的使用

用例图(use case) 用例图是我们做系统分析的通常第一步,是非常重要的。毕竟大部分的开发流程,都将需求分析作为首要步骤,也是必要步骤。将系统需求化作图型表达出来。首先是在项目浏览器中,右键“添加”–>“新建图表”。 【图5】 然后可以加入一些角色和用例,在每次在工具箱里面拉出一个元件,都将打开这个元件的设置对话框,在对话框内填入元件的名称等信息。现在我们是表达一个用户注册和登录的场景:

数据库基础操作语句

一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar 类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词 A:UNION 运算符

sqlmap使用手册

详解强大的SQL注入工具——SQLMAP Akast [N.S.T] 1. 前言 Windows下的注入工具好的又贵,免费的啊D、明小子等又不好用,我们根本没必要花 时间去找什么破解的havij、pangolin什么的,特别是破解的工具很可能被绑了木马。其实Linux下的注入工具也是非常强大的,不过分的说,可以完全取代Windows下面的所有注入工具。 就如backtrack系统里面就有非常丰富的注入工具,对MSSQL、MYSQL、oracle等各种 数据库的应有尽有了,而且这些工具都是免费的,并且是开放源代码的,我们还可以用来修改为合适自己使用的注入工具。 本文给大家介绍的SqlMap是一个开放源码的渗透测试工具,它可以自动探测和利用SQL 注入漏洞来接管数据库服务器。它配备了一个强大的探测引擎,为最终渗透测试人员提供很多猥琐的功能,可以拖库,可以访问底层的文件系统,还可以通过带外连接执行操作系统上的命令。 2. SQLMAP命令详解 为了方便使用我把sqlmap的选项都翻译出来了,当然可能会存在一些不恰当的地方, 请大家指出,可以给我发邮件:akast@https://www.360docs.net/doc/f4975484.html,。如果我有时间会把这个工具出个中文版。 Options(选项): --version 显示程序的版本号并退出 -h, --help 显示此帮助消息并退出 -v VERBOSE 详细级别:0-6(默认为1) Target(目标): 以下至少需要设置其中一个选项,设置目标URL。 -d DIRECT 直接连接到数据库。 -u URL, --url=URL 目标URL。 -l LIST 从Burp或WebScarab代理的日志中解析目标。 -r REQUESTFILE 从一个文件中载入HTTP请求。 -g GOOGLEDORK 处理Google dork的结果作为目标URL。 -c CONFIGFILE 从INI配置文件中加载选项。 Request(请求):: 这些选项可以用来指定如何连接到目标URL。 --data=DATA 通过POST发送的数据字符串 --cookie=COOKIE HTTP Cookie头 --cookie-urlencode URL 编码生成的cookie注入 --drop-set-cookie 忽略响应的Set - Cookie头信息

Mybatis学习笔记

Mybatis 学习笔记 1. mybatis 是什么? ● mybatis 是一个持久层的框架,是apache 下的顶级项目。 ● mybatis 让程序将主要精力放在sql 上,通过mybatis 提供的映射方式,自由灵活生成(半自动化, 大部分需要程序员编写sql )满足需要sql 语句。 ● mybatis 可以将向 preparedStatement 中的输入参数自动进行输入映射,将查询结果集灵活映射成java 对象。(输出映射) 2. mybatis 框架

3. 一个原始查询代码 4. “主键”生成及返回 mysql自增主键 a)执行insert提交之前自动生成一个自增主键。通过mysql函数LAST_INSERT_ID()获取到刚插入记录 的自增主键。是insert之后调用此函数。

?mysql UUID主键 使用mysql的uuid()函数生成主键,需要修改表中id字段类型为string,长度设置成35位。 执行思路:先通过uuid()查询到主键,将主键输入到sql语句中。执行uuid()语句顺序相对于insert语句之前执行。 ?Oracle序列主键 SELECT 序列名.nextval() insert into user(id,username,birthday,sex,address) value(#{id},#{username},#{birthday},#{sex},#{address}) 5. 一个删除用户的代码 主要注意:https://www.360docs.net/doc/f4975484.html,mit()提交事务操作。

非常经典的solr教程

非常经典的solr教程,照着上面做完全能成功! duogemajia Solr 3.5 入门配置应用 机器上已安装: Tomcat 6.0 jdk1.7 mysql 5.0 1 访问https://www.360docs.net/doc/f4975484.html,/dyn/closer.cgi/lucene/solr , 在这个网址里选择一个路径, 下载solr 3.5 的版本 2 solr3.5 在本机解压缩以后, 把apache-solr-3.5.0\example\webapps 目录下 的solr.war 文件拷贝到Tomcat 6.0 的webapps 目录下 3 在Tomcat 6.0\webapps\solr 目录里新建一个文件夹conf 4 把solr3. 5 本机解压缩文件夹apache-solr-3.5.0\example 下的multicore 文件夹 考本到Tomcat 6.0\webapps\solr\conf 目录下 5 在Tomcat 6.0\conf\Catalina\localhost 目录下新建一个solr.xml 文件, 里面的内容如下 6 访问你的solr 项目localhost:8080/solr 会显示出两个core , solr 正常运行 7 配置分词, 使用的是mmseg4j 和搜狗词库, 下载地址: https://www.360docs.net/doc/f4975484.html,/p/mmseg4j/ , https://www.360docs.net/doc/f4975484.html,/p/mmseg4j/downloads/ detail?name=data.zip&can=2&q 8 把本地下载的mmseg4j 解压缩, 把里面的mmseg4j-all-1.8.5.jar 文件拷贝到Tomcat 6.0\webapps\solr\WEB-INF\lib 目录下 9 在Tomcat 6.0\webapps\solr 目录下新建一个dic 文件夹, 把新下载的词库拷贝到dic 目录下 10 在\Tomcat 6.0\webapps\solr\conf\multicore\core0\conf\schema.xml 文件的types 节点里添加如下节点:

Java连接MySql数据库入门操作

这是连接后进行一些简单操作后的结果: Succeeded connecting to the Database! 学号姓名 2011001 张三 2011002 李四 2011003 王五 先去下载MySql并安装好。安装MySql的方法在 https://www.360docs.net/doc/f4975484.html,/view/9cc0fcc76137ee06eff918d5.html 然后下载jdbc驱动。 https://www.360docs.net/doc/f4975484.html,/downloads/connector/j/ 下载好了解压即可。把那个zip文件也放到解压后的目录中,方便管理使用。 我使用的是eclipse,我要导入包,先进行一些设置。

安装jre。 添加外部jar文件 打开刚才解压得到的jar文件。

打开的效果。 使用mysql创建数据库,进行测试。 mysql> use test; Database changed mysql> create table student ( -> sno char(7) not null, -> sname varchar(8) not null, -> sex char(2) not null -> ); Query OK, 0 rows affected

mysql> insert into student values -> (2011001, '张三', '男'); Query OK, 1 row affected mysql> insert into student values -> (2011002, '李四', '男'); Query OK, 1 row affected mysql> insert into student values -> (2011003 , '王五', '男'); Query OK, 1 row affected mysql> select * from student; +---------+-------+-----+ | sno | sname | sex | +---------+-------+-----+ | 2011001 | 张三| 男| | 2011002 | 李四| 男| | 2011003 | 王五| 男| +---------+-------+-----+ 3 rows in set mysql> 编码测试。 输入下面源代码: import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JDBCTest { public static void main(String[] args){ try { // 加载驱动程序 Class.forName("com.mysql.jdbc.Driver"); // URL指向要访问的数据库名test String url = "jdbc:mysql://127.0.0.1:3306/test"; // MySQL配置时的用户名 String user = "root";

笔记2(通路管理)

这个界面可以参考: D:\BTOPS2012\Client\https://www.360docs.net/doc/f4975484.html,erManage\ControlChannel.cs,FormChannel.cs 1.VS2010版做repositoryItemLookUpEdit,有两种方法可参考。 2.添加和删除从表(小加减) 一、任务在(权限配置管理》通路管理)中 1.主表:SYS_CHANNEL通路定义表 从表:SYS_CHANNEL_CONFIG通路配置表 2.参照“单证费目清单”:在(费收管理系统》费收代码维护》单证费目清单)中 3.界面控制在:D:\BTOPS2012\Client\https://www.360docs.net/doc/f4975484.html,erManage\UserManageControl.cs中 4.可参照:笔记(码头管理)一、1-7 二、4.26 1.控件“layoutControl”包含: layoutControl、layoutControlGroup; 其中的Item是来自外界的控件,直接拖进去的,大小无法修改,各控件位置可调换,都类似于固定存在的Dock的“Fill”属性。 已解决: 2.问题:界面:菜单栏的隔断线如何做? 回答:先添加好各菜单按钮,然后选择某一按钮右击:"Begin a Group" 三、4.27 1.命名空间中出现红色波浪线:“缺少程序集引用”: *在项目的引用中添加引用。 *如果找不到该引用,就在项目Infrastructure\https://www.360docs.net/doc/f4975484.html,mon中找到该名称重新生成一下,若还是没有可添加项,在别处找到一样的复制路径,再“浏览”“.DLL”文件。 2.引用出现:感叹号,重新引用。 3.报错:“命名空间被当作类型来使用”:把命名空间添加到类型前。 “兰色体是某某之间不明确的引用”:选择一个,添加到兰色体前。 4.死循环: 当生成成功而运行出现死循环时,要检查Bll文件中是否重复创建了自身的对象,改成

jeesite 说明文档-3.内置组件的应用

第3章内置组件的应用 作者:ThinkGem 更新日期:2014-01-05 1.常用组件 1.1.布局组件 布局文件配置: / jeesite/src/main/webapp/WEB-INF/decorators.xml 默认布局文件: / jeesite/src/main/webapp/WEB-INF/views/layouts/default.jsp 非公共,自己建立的布局文件: / jeesite/src/main/webapp/WEB-INF/views/模块路径/layouts/布局文件.jsp 使用布局文件: JSP的head里添加:

1.2.用户工具UserUtils.java fns.tld 应用场景:在java文件或jsp页面上,获取当前用户相关信息 1.获取当前用户: 1)UserUtils.getUser(); 2)entity.currentUser() 3)${fns:getUser()} 2.获取当前用户部门: 1)UserUtils.getOfficeList() 2)${fns:getOfficeList()} 3.获取当前用户区域: 1)UserUtils.getAreaList() 2)${fns:getAreaList()} 4.获取当前用户菜单: 1)UserUtils.getMenuList() 2)${fns:getMenuList()} 5.获取当前用户缓存: 1)UserUtils.getCache(key); 2)${fns:getCache(cacheName, defaultValue)} 6.设置当前用户缓存: 1)UserUtils.putCache(key); 1.3.全局缓存CacheUtils.java 应用场景:系统字典 1.设置应用程序缓存:CacheUtils.put(key); 2.获取应用程序缓存:CacheUtils.get(key); 1.4.字典工具DictUtils.java 应用场景:系统全局固定的字典数据,java或jsp中获取字典相关数据。

SQL数据库的基本操作

命令行 1、显示当前数据库服务器中的数据库列表:mysql> SHOW DATABASES; 2、建立数据库:mysql> CREATE DATABASE 库名; 3、建立数据表:mysql> USE 库名;mysql> CREATE TABLE 表名(字段名VARCHAR(20), 字段名CHAR(1)); 4、删除数据库:mysql> DROP DATABASE 库名; 5、删除数据表:mysql> DROP TABLE 表名; 6、将表中记录清空:mysql> DELETE FROM 表名; 7、往表中插入记录:mysql> INSERT INTO 表名VALUES ("hyq","M"); 8、更新表中数据:mysql-> UPDATE 表名SET 字段名1='a',字段名2='b' WHERE 字段名3='c'; 9、用文本方式将数据装入数据表中:mysql> load data local infile "d:/mysql.txt" into table 表名; 10、导入.sql文件命令:mysql> USE 数据库名;mysql> source d:/mysql.sql; 11、命令行修改root密码:mysql> update https://www.360docs.net/doc/f4975484.html,er set password=password('新密码') where user='root';mysql> flush privileges; 12.修改密码的三种方法:mysql>update user set password=password('') where user='joy_pen';mysql>flush privileges;mysql>set password for 'joy_oen'=password('');mysql>grant usage on *.* to 'joy_pen' identified by ''; 1、创建数据库 命令:create database <数据库名> 例如:建立一个名为xhkdb 的数据库mysql> create database xhkdb; 2、显示所有的数据库 命令:show databases (注意:最后有个s)mysql> show databases; 3、删除数据库 命令:drop database <数据库名> 例如:删除名为xhkdb的数据库mysql> drop database xhkdb; 4、连接数据库 命令:use <数据库名> 例如:如果xhkdb数据库存在,尝试存取它:mysql> use xhkdb; 屏幕提示:Database changed 5、当前选择(连接)的数据库mysql> select database(); 6、当前数据库包含的表信息:mysql> show tables; (注意:最后有个s) 三、表操作,操作之前应连接某个数据库 1、建表 命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]); mysql> create table MyClass( > id int(4) not null primary key auto_increment, > name char(20) not null, > sex int(4) not null default ''0'', > degree double(16,2)); 2、获取表结构 命令:desc 表名,或者show columns from 表名 mysql>DESCRIBE MyClass mysql> desc MyClass;

ibatis使用总结

ibatis使用总结 SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的70的工作量。 1、命名空间: ,在此空间外要引用此空间的元素,则需要加上命名空间名。 2、实体的别名: 如果有用到的全名的地方,可以用别名代替,受命名空间约束。 3、插入操作 对于自增主键的表,插入可以不配置插入的主键列。否则是必须的。 4、获取主键 插入语句之前配置:主要是针对Sequence主键而言,插入前必须指定一个主键值给要插入的记录。Oracle、DB2亦如此,方法是在插入语句标签之前配置上: SELECT SEQ_TEST.NEXTVAL FROM DUAL insert into .... ........ 插入语句之后配置:主要是针对自增主键的表而言,这类表在插入时不需要主键,而是在插入过程自动获取一个自增的主键。比如MySQL SELECT LAST_INSERT_ID() insert into .... ........ 当然,是否需要配置根据情况,只要能保证记录有主键即可。一旦配置了,就可以在执行插入操作时获取到新增记录的主键。 6、SQL入参parameterClass 插入语句入参:parameterClass="类别名" 来设定。 查询语句入参:可以设定类别名,也可以设定为map,也可以设定为iBatis支持的原生类型(比如string、int、long等),当只有一个原生类型入参时,使用#value#来引用,这个value 是不是关键字,可变。比如: