Mysql常用命令详解
创新互联公司是一家专业提供平顺企业网站建设,专注与成都网站设计、成都做网站、H5场景定制、小程序制作等业务。10年已为平顺众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
Mysql安装目录
数据库目录
/var/lib/mysql/
配置文件
/usr/share/mysql(mysql.server命令及配置文件)
相关命令
/usr/bin(mysqladmin mysqldump等命令)
启动脚本
/etc/init.d/mysql(启动脚本文件mysql的目录)
系统管理
连接MySQL
格式:
mysql -h 主机地址 -u用户名 -p用户密码
例 1:连接到本机上的 MySQL。
hadoop@ubuntu:~$ mysql
-uroot -pmysql;
例 2:连接到远程主机上的 MYSQL。
hadoop@ubuntu:~$ mysql -h
127.0.0.1 -uroot -pmysql;
修改新密码
在终端输入:mysql -u用户名 -p密码,回车进入Mysql。
use mysql;
update user set password=PASSWORD('新密码') where
user='用户名';
flush privileges; #更新权限
quit; #退出
增加新用户
格式:grant select on 数据库.* to
用户名@登录主机 identified by '密码'
举例:
例 1:增加一个用户 test1 密码为
abc,让他可以在任何主机上登录,并对所有数据库有
查询、插入、修改、删除的权限。首先用以 root 用户连入
MySQL,然后键入以下命令:
mysqlgrant select,insert,update,delete on *.* to
root@localhost identified by 'mysql';
或者
grant all privileges on *.* to
root@localhost identified by 'mysql';
然后刷新权限设置。
flush privileges;
例
2:如果你不想 root 有密码操作数据库“mydb”里的数据表,可以再打一个命令将密码消掉。
grant
select,insert,update,delete on mydb.* to root@localhost identified by
'';
删除用户
hadoop@ubuntu:~$ mysql
-u用户名 -p密码
mysqldelete from user where user='用户名' and
host='localhost';
mysqlflush privileges;
//删除用户的数据库
mysqldrop
database dbname;
数据库操作
显示所有的数据库
mysql show databases;(注意:最后有个
s)
创建数据库
mysql create database
test;
连接数据库
mysql use
test;
查看当前使用的数据库
mysql select
database();
当前数据库包含的表信息
mysql
show tables; (注意:最后有个 s)
删除数据库
mysql drop database
test;
表操作
备注:操作之前使用“use
数据库名”应连接某个数据库。
建表
命令: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));
获取表结构
命令: desc 表名,或者show columns from
表名
例子:
mysql describe MyClass
mysql desc MyClass;
mysql
show columns from MyClass;
删除表
命令:drop table 表名
例如:删除表名为
MyClass 的表
mysql drop table MyClass;
插入数据
命令:insert into 表名 [( 字段名
1[,..字段名 n ])] values ( 值 1 )[, ( 值 n )]
例子:
mysql insert
into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang',
96.59);
查询表中的数据
查询所有行
mysql
select * from MyClass;
查询前几行数据
例如:查看表 MyClass 中前 2 行数据
mysql
select * from MyClass order by id limit 0,2;
或者
mysql select * from
MyClass limit 0,2;
删除表中数据
命令:delete from 表名 where 表达式
例如:删除表
MyClass 中编号为 1 的记录
mysql delete from MyClass where id=1;
修改表中数据
命令:update 表名 set 字段=新值,... where
条件
mysql update MyClass set name='Mary' where id=1;
在表中增加字段
命令:alter table 表名 add 字段 类型
其他;
例如:在表 MyClass 中添加了一个字段 passtest,类型为 int(4),默认值为 0
mysql alter
table MyClass add passtest int(4) default '0'
更改表名
命令:rename table 原表名 to 新表名;
例如:在表
MyClass 名字更改为 YouClass
mysql rename table MyClass to
YouClass;
更新字段内容
命令:update 表名 set
字段名 = 新内容
update 表名 set 字段名 = replace(字段名, '旧内容', '新内容');
例如:文章前面加入 4
个空格
update article set content=concat(' ', content);
数据库导入导出
从数据库导出数据库文件
使用“mysqldump”命令
首先进入 DOS
界面,然后进行下面操作。
1)导出所有数据库
格式:mysqldump -u [数据库用户名] -p
-A[备份文件的保存路径]
2)导出数据和数据结构
格式:mysqldump -u [数据库用户名] -p
[要备份的数据库名称][备份文件的保存路径]
举例:
例 1:将数据库 mydb 导出到 e:\MySQL\mydb.sql
文件中。
打开开始-运行-输入“cmd”,进入命令行模式。
c:\ mysqldump -h localhost -u
root -p mydb e:\MySQL\mydb.sql
然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。
例
2:将数据库 mydb 中的 mytable 导出到 e:\MySQL\mytable.sql 文件中。
c:\ mysqldump -h
localhost -u root -p mydb mytablee:\MySQL\mytable.sql
例 3:将数据库 mydb
的结构导出到 e:\MySQL\mydb_stru.sql 文件中。
c:\ mysqldump -h localhost -u root -p
mydb --add-drop-table e:\MySQL\mydb_stru.sql
备注:-h localhost
可以省略,其一般在虚拟主机上用。
3)只导出数据不导出数据结构
格式:
mysqldump -u [数据库用户名] -p -t
[要备份的数据库名称][备份文件的保存路径]
4)导出数据库中的Events
格式:mysqldump -u [数据库用户名] -p
-E [数据库用户名][备份文件的保存路径]
5)导出数据库中的存储过程和函数
格式:mysqldump -u [数据库用户名]
-p -R [数据库用户名][备份文件的保存路径]
从外部文件导入数据库中
1)使用“source”命令
首先进入“mysql”命令控制台,然后创建数据库,然后使用该数据库。最后执行下面操作。
mysqlsource
[备份文件的保存路径]
2)使用“”符号
首先进入“mysql”命令控制台,然后创建数据库,然后退出 MySQL,进入 DOS
界面。最后执行下面操作。
mysql -u root –p [备份文件的保存路径]
1. 安装MySQL数据库
先从MySQL官网下载MySQL,然后进入所下载的安装文件所在目录,运行如下命令进行安装,其中MySQL-server-community-5.1.56-1.rhel5.i386.rpm为刚刚下载的MySQL数据库服务器的rpm包,然后使用/etc/rc.d/init.d/mysqlrestart命令重启MySQL服务:
[root@localhost ~]# rpm -ivh MySQL-server-community-5.1.56-1.rhel5.i386.rpm
[root@localhost ~]# /etc/rc.d/init.d/mysql restart
Shutting down MySQL..[确定]
Starting MySQL..[确定]
2. 配置MySQL数据库字符集
备注:配置MySQL数据库字符集的目的是方便的使用数据库,无需在每次连接的时候都要临时设置数据库字符集的,个人不建议采用这种方法,真正的工程项目都应该在连接数据库时临时设置数据库字符集,如此才便于系统的移植,而且又不会影响数据库服务器中的其他数据库的使用!
安装完成之后,需要配置MySQL的字符集配置,首先需要查找MySQL的配置文件的位置,由于MySQL的配置文件名是以.cnf结尾的,因此可用如下命令进行查找:
[root@localhost ~]# find / -iname '*.cnf' -print
/usr/share/mysql/my-large.cnf
/usr/share/mysql/my-medium.cnf
/usr/share/mysql/my-innodb-heavy-4G.cnf
/usr/share/mysql/my-huge.cnf
/usr/share/mysql/my-small.cnf
/usr/share/doc/MySQL-server-community-5.1.56/my-large.cnf
/usr/share/doc/MySQL-server-community-5.1.56/my-medium.cnf
/usr/share/doc/MySQL-server-community-5.1.56/my-innodb-heavy-4G.cnf
/usr/share/doc/MySQL-server-community-5.1.56/my-huge.cnf
/usr/share/doc/MySQL-server-community-5.1.56/my-small.cnf
/etc/pki/tls/openssl.cnf
输入完命令“find / -iname '*.cnf'-print”回车后,屏幕便显示搜索到的MySQL配置文件,然后拷贝my-large.cnf、my-medium.cnf 、my-innodb-heavy-4G.cnf 、my-huge.cnf、my-small.cnf中任意的一个到/etc目录下,并命名为my.cnf,其命令如下所示:
[root@localhost ~]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
[root@localhost ~]# vi /etc/my.cnf
然后,使用vi编辑器修改/etc/my.cnf文件,在[client]下添加: “default-character-set=gb2312”;在[mysqld]下添加:“default-character-set=gb2312”。如下所示:
# The following options will be passed to all MySQL clients
[client]
default-character-set=gb2312
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
default-character-set=gb2312
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
按一下Esc键,输入“:wq”后回车保存配置文件,输入“/etc/rc.d/init.d/mysqlrestart”重启MySQL服务,如下所示:
[root@localhost ~]# /etc/rc.d/init.d/mysql restart
Shutting down MySQL..[确定]
Starting MySQL..[确定]
最后,我们来验证MySQL服务器配置是否成功,首先登录MySQL,输入“mysql –uroot -p”回车,系统提示输入密码,登录成功后进入MySQL命令模式,如下所示:
[root@localhost ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.56-community-log MySQL Community Server (GPL)
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql
在MySQL命令模式下分别输入“show variables like'collation_%';”、“show variables like 'character_set_%';”回车后显示字符集设置,如下所示:
mysql show variables like 'collation_%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | gb2312_chinese_ci |
| collation_database | gb2312_chinese_ci |
| collation_server | gb2312_chinese_ci |
+----------------------+-------------------+
3 rows in set (0.05 sec)
mysql show variables like 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | gb2312 |
| character_set_connection | gb2312 |
| character_set_database | gb2312 |
| character_set_filesystem | binary |
| character_set_results | gb2312 |
| character_set_server | gb2312 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
mysql
根据以上查询结果可知我们设置的MySQL数据库配置信息已经生效,至此完成MySQL的服务器的安装与配置。
3.关于MySQL数据库的一些注意事项
3.1 远程连接mysql速度慢
解决方法:
在MySQL服务器的配置(/etc/my.cnf)中增加一个如下配置后速度飞快。
[mysqld]
skip-name-resolve
备注:这样就能禁用DNS解析,连接速度会快很多。不过,这样的话就不能在MySQL的授权表中使用主机名了而只能用ip格式。
3.2 重启数据库后,发现无需密码(或者任何密码)即可以连接
解决方法:
检查你的MySQL配置文件(/etc/my.cnf)中是不是多了一条语句:“skip-grant-tables”,删除(注释)该语句,重新配置MySQL密码,再次重启MySQL服务即可!
备注:若使用skip-grant-tables系统将对任何用户的访问不做任何访问控制,但可以用 mysqladmin flush-privileges或mysqladmin reload来开启访问控制;默认情况是show databases语句对所有用户开放,如果mysql服务器没有开远程帐户,就在/etc/my.cnf里面加上skip-grant-tables。
你需要修改默认字符集;你在数据库里面修改为utf8_general_ci后再看还是默认的。
数据库默认字符集修改为utf8_general_ci(若数据库安装时没选择utf-8字符集)
MariaDB10.0\date\my.ini
在mysqld加入 character-set-server=utf8
ALTER TABLE table_name COMMENT='这是表的注释';
1.给表加注释:
ALTER TABLE table_name COMMENT='这是表的注释';
2.给列加注释:
ALTER table table_name MODIFY `column_name` datetime DEFAULT NULL COMMENT '这是字段的注释'
ASP操作ACESS数据库
一,拥有数据库
可以这么说:静态页面和动态页面最大的区别就是采用了数据库。有关一个WEB程序采用数据库和不采用的优越性比较,就不去细细分析了,主要精力还是放在如何使用数据库,如何熟练运用数据库,如何更灵活地运用数据库等等……其中运用操作数据库主要是对数据库内容进行:显示、插入、修改、更新、查询和删除。
这些方法当然也不是一口就能吃出来的,要慢慢感受咀嚼、理解消化。当然首先很重要的便是先拥有数据库了。否则,一切都是空谈,巧媳妇难以无米之炊嘛。
一般而言,我们所说的数据库其实就是一个数据库文件,该文件是由一些数据库管理系统(DBMS)建立生成的。目前一般的DBMS也就是常用常听说的ACCESS,SQLSERVER,MYSQL,ORACLE。当然一般个人站点,小型企业采用ACCESS完全足够;稍微大些的就采用同样是Microsoft公司的SQL SERVER或者是MYSQL,值得注意的是MYSQL一般是和另外一种网络编程语言PHP完美结合的。当然更大型的就采用ORACLE了。呵呵,曾经在学习PB时还运用到SYBASE数据库,UNIX系统的Informix数据库……DBMS简直是多如牛毛-_-!
话说过来,目前我们就直接使用ACCESS了:1,使用简单;2,入门掌握容易;3,实在没有比这个更适合初学的了。
一切还得从实际操作开始。
1,打开ACCESS数据库,选择新建数据库,将其命名为cnbruce.mdb,并保存到一专门文件夹database中
images/ado/1.gif[/img]
2,在新建的数据库容器中双击“使用设计器创建表”,弹出的表1窗口中字段名称输入“cn_id”,数据类型选择“自动编号”,并选择上方工具栏中的钥匙按钮,将该字段设为主键。
继续输入字段“cn_title”,数据类型选择“文本”;NEXT输入字段“cn_content”,数据类型选择“备注”;
PS:备注和一般类型文本最大的区别就是备注允许插入的字段值相对要多些,这在插入一些较长文章的时候尤其重要。
仍然输入字段“cn_author”,数据类型选择“文本”;并且切换到下面“常规”中的“允许空字符串”选择“是”。
PS:这表面允许cn_author字段的值可以是空的,这在当提交表单,某些信息不填写但要正确插入数据库时,显得很重要。
最后输入字段“cn_time”,数据类型选择“日期/时间”,继续切换到“常规”中的“默认值”输入“now()”函数
末了,将“表1”另存为“cnartile”
images/ado/2.gif[/img]
3,双击打开cnartile表,填写第一行:“cn_title”输入“test”,“cn_content”输入“this is a test”,“cn_author”输入“cnbruce”,时间已经自动添加。完成!关闭表,关闭数据库。
images/ado/3.gif[/img]
二,建立数据库连接
OK,数据库已经建立完毕,并且已经填写了一行信息内容。那么现在需要的就是同过ASP将该行信息显示出来。
要想显示,首先还是需要ASP与该数据库文件建立连接,具体怎么建立?往下看。
1,conn.asp:主要起的是连接并打开某数据库文件的功能。该文件建议单独存在,并且位置是和存放数据库的文件夹database处与同一物理层次。
%db_path = "database/cnbruce.mdb"Set conn= Server.CreateObject("ADODB.Connection")connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="Server.MapPath(db_path)conn.Open connstr%
db_path = "database/cnbruce.mdb",不用说,就是将数据库的相对路径赋到一个变量上,以方便下面继续调用。
Set conn= Server.CreateObject("ADODB.Connection"),和其它建立组件一样,建立了一个ADO连接,并用一对象conn来接受。
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="Server.MapPath(db_path),很显然就是连接字符串了,其包括打开数据库的驱动方法OLEDB,和打开和哪个数据库的连接(即数据库的路径)。
需要再次提醒的是:无论是FSO对文件、文件夹的操作还是ADO对数据库的操作,对被操作文件的取得都是获得的绝对的物理地址,一般情况之下,采用Server.MapPath方法相对较好。
conn.Open connstr最后对象conn通过连接字符串connstr打开了数据库的连接。
三,显示数据库内容
建立了数据库,建立了和数据库的连接,下面水到渠成地就是将数据库中的内容通过ASP显示出来。
2,showit.asp
!--#include file="conn.asp" --%Set rs = Server.CreateObject ("ADODB.Recordset")sql = "Select * from cnarticle"rs.Open sql,conn,1,1%%if rs.EOF and rs.BOF then response.write ("暂时还没有文章")else Do Until rs.EOF response.write("文章标题是:" rs("cn_title")) response.write("br文章作者是:" rs("cn_author")) response.write("br文章加入时间是:" rs("cn_time")) response.write("br文章内容是:" rs("cn_content")) response.write("hr") rs.MoveNext Loopend if%%rs.close Set rs = Nothingconn.close set conn=Nothing%
简单调试本页,不出任何意外,相信一定能将数据库中的信息显示出来了。(PS:我的数据库中输写了两行)
images/ado/4.gif[/img]
下面就来具体一个一个解释来理解没行的含义:
1,!--#include file="conn.asp" -- 没有任何争议,主要是调用conn.asp的所起的功效,这在解释conn.asp文件的时候已经明白。
2,Set rs = Server.CreateObject ("ADODB.Recordset") ADO组件除了Connection连接以外,还有Recordset绑定记录集(相信用过DW做ASP的人现在开始有些重回故里的感觉了)当然 rs 可以形象地想象成数据库表中的某一行。
3,sql = "Select * from cnarticle" 标准的SQL结构化查询语言。很简单:建立了数据库连接,也绑定了记录集,那具体需要哪些信息呢?也就是要筛选一些记录集合了,不过当前采用的是无任何条件,即可以提取所有。
4,rs.Open sql,conn,1,1 真正地打开通向数据库中记录集的大门,具体有关后面的参数可以从如下网址中获得。
5,if rs.EOF and rs.BOF then 该语句里面涉及到了rs.EOF 和 rs.BOF 以及两者的逻辑运算 and 。rs.EOF 表示到达数据库表中的最后一行,rs.BOF 表示到达数据库表中的第一行。整个语句可以理解为,如果当前数据库中的最后一行就是数据库表中第一行,那么可以肯定:当前数据库表中没有任何数据。
6,
Do Until rs.EOF
...
rs.MoveNext
Loop
主要就是一个DO LOOP 循环语句了,其中循环的结束条件为:直到rs.EOF,即值得数据库表的最后一行。那么在这些条件满足的许可之内,就是来显示具体的信息了。
每次循环只能显示数据库表中的一行,如果要继续读取下行,那么 rs.MoveNext 功能真是如此。
7,rs("cn_title")等等 主要就是具体显示记录集中的哪个特定字段的信息值了。很是简单。
8,最后不要忘了释放资源空间关闭记录集连接,关闭数据库连接。
四,一些特殊条件
1,有没有注意到,数据库表信息的显示一般是按照时间的先后排列的,也就经常提到的按时间的升序排列。需要注意:按时间升序,并不一定每个数据库表中都要有一个时间/日期类型的字段,只要存在一个自动编号的字段就可以了。因为该字段是永不重复,并且是依次增大的。因此,按时间升序其实就是按自动编号中号码数值的增加来进行排序的。
当然,问题的关键来了,那就是要按照时间的降序排列,即始终从最新的内容开始显示。那具体需要哪些手术呢?
很简单,将连接字符串稍做修改。
由 sql = "Select * from cnarticle" 添加修改为
sql = "Select * from cnarticle order by cn_id desc"
其中 order by cn_id 即通过cn_id字段,desc 即降序了。
2,有是时候,只需要提取最前或者最新的几条信息,那这个又具体如何操作呢?同样还是连接字符串的修改
由 sql = "Select * from cnarticle order by cn_id desc" 添加修改为
sql = "Select top 3 * from cnarticle order by cn_id desc"
其中 top 3 就表示提取最新的三条信息内容了。
That's All. 现在一个文章系统、新闻系统或者留言本显示部分的精华内容你已不费吹灰之力搞定。
留下你的是:文章的格式可能显示不对劲,比如回车、空格都不显示了,那么你就还要学会处理接受的数据库表的值(在ASP的几个练习中提到的);文章不能老是打开数据库输入信息啊,那么你就要继续学会如何用ASP插入数据到库表;再有就是文章多了,一个页面看是不是很麻烦?那么你还要学会分页技术……
简单的显示记录已经掌握,现在需要的就是通过ASP将信息内容插入到数据库中。
一、拥有数据库cnbruce.mdb
本数据库的作用就是用来被插入数据的,可以直接采用上节中已经建立的cnbruce.mdb文件,当然连接打开数据库的文件conn.asp也就顺利引用了。
二、建立输入插入信息的页面平台addit.html
本页的主要作用是:显示一些文本输入框以用来提供输入信息内容提交数据库。
1,addit.html
form action="addit.asp" method="post"Title:input type="text" name="title"brAuthor:input type="text" name="author"brContent:brtextarea name="content" rows="8" cols="30"/textareabrinput type="submit" value="Add"input type="reset" value="Reset"/form
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
本页其实很简单,就是通过submit按钮将表单的信息内容提交到addit.asp页面去处理。
三、建立处理接受数据并插入数据库表的页面程序addit.asp
2,addit.asp
!--#include file="conn.asp" --%whattitle=request.form("title")whoauthor=request.form("author")whatcontent=request.form("content")%%Set rs = Server.CreateObject ("ADODB.Recordset")sql = "Select * from cnarticle"rs.Open sql,conn,3,2%%rs.addnewrs("cn_title")=whattitlers("cn_author")=whoauthorrs("cn_content")=whatcontentrs.update%文章添加成功,a href="showit.asp"浏览/a%rs.close Set rs = Nothingconn.close set conn=Nothing%
恩,接着就是来具体分析一下。
1,!--#include file="conn.asp" -- 不用说,凡是要和数据库有联系的都要运用到该连接文件。
2,whattitle=request.form("title")之类 就是将上页表单中接受过来的值赋到一变量上,方便下面程序的调用。
3,rs.Open sql,conn,3,2 注意参数和显示数据库时采用的参数的不同。
4,rs.addnew 很简单也很显眼的一个声明:新建一个数据库记录集行。
5,rs("cn_title")=whattitle之类 即将接受的表单值对应到相关字段中。
6,rs.update 只是值和数据库字段的对应,完了后还要将对应的值上传提交到数据库表中去。
7,插入后可以跳转到showit.asp查看 需要说明,以后的ASP例题可能都是建立在前几节内容的基础之上完成的。
8,释放资源 是规矩,不要忘记。
那么,现在。插入并显示数据库记录,对你来说完全是小菜一碟了。大体框架搭建完毕,下面就是具体的细化了。
其中包括:客户端的表单检测,防止用户信息输入的遗漏;当然最好还是要加上服务器端的表单检测,由于客户端的某些原因(比如自行设计提交非检测的页面)基于安全考虑,一切还是依服务器端所接受信息为准。那下面就继续细化应用下了。
1,客户端检测 其实就是通过简单的脚本检测,这在初学ASP提到脚本的时候说到,下面将再次重复。
加强的addit.html
script laguage="javascript"!--function form1_onsubmit(){if (document.form1.title.value==""){alert("请输入文章标题")document.form1.title.focus()return false}else if(document.form1.content.value==""){alert("请输入文章内容")document.form1.content.focus()return false}}--/scriptform action="addit.asp" method="post" name="form1" script_onsubmit="return form1_onsubmit()"Title:input type="text" name="title"brAuthor:input type="text" name="author"brContent:brtextarea name="content" rows="8" cols="30"/textareabrinput type="submit" value="Add"input type="reset" value="Reset"/form
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
2,服务器端检测 有人也许会问,既然有了客户端的检测,那还有多个服务器端的检测呢?原因很简单,比如仿照HTML表单提交页,自行设计一张去除了表单检测的页面。当点击提交,并且没有任何信息时,到达服务器端如没有任何防御则肯定会造成数据插入的失败。
加强的addit.asp
!--#include file="conn.asp" --%whattitle=trim(request.form("title"))whoauthor=trim(request.form("author"))whatcontent=trim(request.form("content"))%%if whattitle="" then%script language=vbsalert("请输入文章标题")history.go(-1)/script%end if%%if whatcontent="" then%script language=vbsalert("请输入文章标题")history.go(-1)/script%end if%%Set rs = Server.CreateObject ("ADODB.Recordset")sql = "Select * from cnarticle"rs.Open sql,conn,3,2%%rs.addnewrs("cn_title")=whattitlers("cn_author")=whoauthorrs("cn_content")=whatcontentrs.update%文章添加成功,a href="showit.asp"浏览/a%rs.close Set rs = Nothingconn.close set conn=Nothing%
可以看出,就是添加了如下类似的判断。
%if whattitle="" then%script language=vbsalert("请输入文章标题")history.go(-1)/script%end if%
很简单,如果接受过来的信息为空,则弹出警告框,并且确认后返回到上页即addit.html了。当然cn_author没有设置检测,因为当初设计该字段的接受值是允许为空的。
OK,总结一下,插入记录主要就是
rs.addnewrs("cn_title")=whattitle...rs.update
很简单,先声明addnew,然后一一对应,再提交插入数据库。
这是一种插入数据库的方法,下面就来接触了解一下另外一种。
需要注意,结构化的查询语言也就是SQL语句能够完成一些比较苛刻的数据库操作。当然,对于诸如提取、插入信息之流就更不在话下了。
回答者:zhifucai - 魔法师 五级 7-1 14:46
您觉得最佳答案好不好? 目前有 2 个人评价
100% (2)
0% (0)
其他回答共 2 条
1.Access数据库的DSN-less连接方法:
set adocon=Server.Createobject("adodb.connection")
adoconn.Open"Driver={Microsoft Access Driver(*.mdb)};DBQ=" _
Server.MapPath("数据库所在路径")
2.Access OLE DB连接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=Microsoft.Jet.OLEDB.4.0;" _
"Data Source=" Server.MapPath("数据库所在路径")
回答者:最爱叫天蝎 - 试用期 一级 7-1 15:13
Option Explicit '设置 变量必须声明
Response.Expires = 0 '关闭ie浏览器的缓冲
'第一部分: 建立连接
Dim Cnn, StrCnn
Set Cnn = Server.CreateObject("ADODB.Connection")
StrCnn = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source=数据库路径"
Cnn.Open strcnn
回答者:eux - 门吏 二级 7-4 11:07
mysql 数据库join,怎么定义字段别名
推荐内容
mysql 数据库join,怎么定义字段别名
来自匿名用户的提问
回答
最佳答案
select columnname as col1 from tablename t1
直接在后面写别名就可以了啊
2017-04-07
抢首赞
更多回答(1)
数据库mysql培训_传智教育_致力于培养高级软件工程师
口碑品牌
来传智数据库mysql培训,java课程培训,结合企业时代发展,不断加入新/热技术点.数据库mysql培训,项目实战教学,层层递进,课程设置贴合企业用人需求,多种职业规划...
Java培训
视频教程
基础入门
学习路线
m.itcast.cn
广告
mysql数据库学习_HTMLJS+前端培训_前端学习路线图
口碑品牌
黑马程序员HTMLJS+前端培训,项目实战教学,模拟企业真实开发,引入三大流行框架,mysql数据库学习,实及时更新热门技术,课程体系契合企业需求,学习即积累项目经验.
javaEE培训
Python大数据开发
人工智能
软件测试
HTMLJS+前端
产品经理
UI/UE设计
新媒体运营
机器人培训
itheima.itcast.cn
广告
xampp mysql怎么连接数据库_优质推荐
查询xampp mysql怎么连接数据库,我们为您推荐更多优质商家,资质保证,放心选择有保障!
商家列表
广告
相关搜索
mysql给表添加字段mysql拼接字段的函数mysql截取字段前几位mysql设置字段默认值mysql增加字段的语句mysql给表新增字段mysql删除一个字段mysql给表增加字段
mysql数据库 字段类型
赞0答1
mysql数据库表字段多少合适
赞0答2
MySQL数据库,如何给数据库表和表字段添加备注?
赞0答4
mysql数据库怎么创建数据表并添加数据
赞0答4
MYSQL数据库字段内容如何批量更新
赞0答7
MySQL搜狗百科
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,属于Oracle旗下产品,是最流行的关系型数据库管理系统之一。 MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言,由于其体积小、速度快、开放源码...
新冠肺炎又有新的发现吗?
赞4455
舒兰市为什么在48小时成为高风险地区?
赞3108
纽约州多名儿童感染不明综合征与新冠病毒有关吗?
赞4874
正在加载...

售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款