精华内容
下载资源
问答
  • web服务器连接数据库常用权限管理

    千次阅读 2018-01-09 16:43:45
    mysql中可以给你一个用户授予如select,insert,update,delete等其中的一个或者多个权限,主要使用grant命令,用法格式为: grant 权限 on 数据库对象 to ...grant select on testdb.* to web_user@’%’ grant insert on
    mysql中可以给你一个用户授予如select,insert,update,delete等其中的一个或者多个权限,主要使用grant命令,用法格式为: 
    grant 权限 on 数据库对象 to 用户 
    一、普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。 
    grant select on testdb.* to web_user@’%’ 
    grant insert on testdb.* to web_user@’%’ 
    grant update on testdb.* to web_user@’%’ 
    grant delete on testdb.* to web_user@’%’ 
    或者,用一条 MySQL 命令来替代: 
    grant select, insert, update, delete on testdb.* to common_user@’%’
    这就是web中常用的权限配置
    
    当然有些数据库中会有存储过程,比较少,但是有些特殊的,需要赋予存储过程权限。
    如果只需要在程序中执行存储过程,只加存储过程即可,grant execute on testdb.* to developer@’192.168.0.%’;
    如果需要创建修改存储过程,则需要多家权限了
    grant create routine on testdb.* to developer@’192.168.0.%’; -- now, can show procedure status 
    grant alter routine on testdb.* to developer@’192.168.0.%’; -- now, you can drop a procedure 
    
    二、grant 数据库开发人员,创建表、索引、视图、存储过程、函数。。。等权限。 
    grant 创建、修改、删除 MySQL 数据表结构权限。 
    grant create on testdb.* to developer@’192.168.0.%’; 
    grant alter on testdb.* to developer@’192.168.0.%’; 
    grant drop on testdb.* to developer@’192.168.0.%’; 
    grant 操作 MySQL 外键权限。 
    grant references on testdb.* to developer@’192.168.0.%’; 
    grant 操作 MySQL 临时表权限。 
    grant create temporary tables on testdb.* to developer@’192.168.0.%’; 
    grant 操作 MySQL 索引权限。 
    grant index on testdb.* to developer@’192.168.0.%’; 
    grant 操作 MySQL 视图、查看视图源代码 权限。 
    grant create view on testdb.* to developer@’192.168.0.%’; 
    grant show view on testdb.* to developer@’192.168.0.%’; 
    grant 操作 MySQL 存储过程、函数 权限。 
    grant create routine on testdb.* to developer@’192.168.0.%’; -- now, can show procedure status 
    grant alter routine on testdb.* to developer@’192.168.0.%’; -- now, you can drop a procedure 
    grant execute on testdb.* to developer@’192.168.0.%’;
    这个主要给非程序端的软件开发人员赋予权限,一般需要把账号告诉组长。
    
    三、grant 普通 DBA 管理某个 MySQL 数据库的权限。 
    grant all privileges on testdb to dba@’localhost’ 
    其中,关键字 “privileges” 可以省略。
    
    四、grant 高级 DBA 管理 MySQL 中所有数据库的权限。 
    grant all on *.* to dba@’localhost’
    
    查看原文:http://www.architecy.com/archives/328
    展开全文
  • 数据库优化常用方法

    千次阅读 2014-03-04 22:08:36
    对于web应用开发,多数性能瓶颈均出现在数据库上,除了采用分布式架构或云处理(大公司基本上都是),更重要的是平时程序设计时要遵照一些规则,从根本上提高系统的性能,以下总结了一些常用的规则方法,仅供参考,...

    对于web应用开发,多数性能瓶颈均出现在数据库上,除了采用分布式架构或云处理(大公司基本上都是),更重要的是平时程序设计时要遵照一些规则,从根本上提高系统的性能,以下总结了一些常用的规则方法,仅供参考,欢迎跟帖补充。。。

     

    1、 把数据、日志、索引放到不同的I/O设备上,增加读取速度。数据量(尺寸)越大,提高I/O越重要。

    2、 纵向、横向分割表,减少表的尺寸,如:可以把大数据量的字段拆分表。

    3、 根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。注意填充因子要适当(最好是使用默认值0)。索引应该尽量小,尽量使用字节数小的列建索引,不要对有限的几个值的列建单一索引。

    4、 OR的字句可以分解成多个查询,并且通过UNION链接多个查询。它们的速度只与是否使用索引有关,如果查询需要用到联合索引,用UNION all执行的效率更高。

    5、 在查询SELECT语句中用WHERE子句限制返回的行数,避免表扫描。如果返回不必要的数据,则浪费了服务器的I/O资源,加重了网络的负担,降低了性能。如果表很大,在表扫描期间将表锁住,禁止其他的联结访问表,后果很严重。

    6、 注意使用DISTINCT,在没有必要时不要用,它同UNION一样会使查询变慢。

    7、 IN后面值的列表中,将出现最频繁的值放在最前面,出现最少的放在最后面,减少判断的次数。

    8、 一般在GROUP BYHAVING子句之前就能剔除多余的行,所以尽量不要用它们来做剔除行的工作,也就是说尽可能在WHERE中过滤数据。

    9、 尽量将数据的处理工作放在服务器上,减少网络的开销,如使用存储过程。存储过程是编译、优化过,并且被组织到一个执行规划里,且存储在数据库中的SQL语句(存储过程是数据库服务器端的一段程序),是控制流语言的集合,速度当然快。

    10、              不要在一句话里再三地使用相同的函数,浪费资源,将结果放在变量里再调用更快。

    11、              针对大量只读查询操作进行优化的方法:

    1)         数据量小的数据,可以考虑不存储在数据库中,而是通过程序常量的方式解决。

    2)         需要存储在数据库中的数据,可以考虑采用物化视图(索引视图)。当DBA在视图上创建索引时,这个视图就被物化(执行)了,并且结果集被永久地保存在唯一索引中,保存方式与一个有聚簇索引的表的保存方式相同。物化视图减除了为引用视图的查询动态建立结果集的开销,优化人员可以在查询中使用视图索引,而不需要在FROM子句中直接指定视图。

    3)         数据存储时可以考虑适当的数据冗余,以减少数据库表之间的链接操作,提高查询效率。

    4)         针对数据的特点,采取特定的索引类型。例如,位图索引等。

    12、              对于SQL语句书写时的一些建议:

    1)         写语句时能够确定数据库对象所有者的,尽可能把所有者带上,如:

    SELECT * FROM dbo.Users

    2)         存储过程中,参数定义最好放在最前面,尽可能一次定义,如:

    DECLARE @USER_ID INT

           ,@USER_NAME   VARCHAR(50)

           ,@PASSWORD VARCHAR(50)

    3)         为参数赋值时,尽可能一次赋值,如:

    SELECT @USER_ID = 1001

           ,@USER_NAME = 'xiaojun.liu'

    4)         尽量少用游标


    源自:

     http://www.cnblogs.com/liuxiaojun/archive/2010/12/09/database_performance_optimization.html

    展开全文
  • MySQL 数据库常用命令小结

    万次阅读 多人点赞 2010-01-04 21:52:00
    MySQL 数据库常用命令 1、MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show tables; 显示表 describe tablename; 表的详细描述 ...

    MySQL 数据库常用命令

     

    1、MySQL常用命令

    create database name; 创建数据库

    use databasename; 选择数据库

    drop database name 直接删除数据库,不提醒

    show tables; 显示表

    describe tablename; 表的详细描述

    select 中加上distinct去除重复字段

    mysqladmin drop databasename 删除数据库前,有提示。

    显示当前mysql版本和当前日期

    select version(),current_date;

     

    2、修改mysql中root的密码:

    shell>mysql -u root -p

    mysql> update user set password=password(”xueok654123″) where user=’root’;

    mysql> flush privileges //刷新数据库

    mysql>use dbname; 打开数据库:

    mysql>show databases; 显示所有数据库

    mysql>show tables; 显示数据库mysql中所有的表:先use mysql;然后

    mysql>describe user; 显示表mysql数据库中user表的列信息);

     

    3、grant

    创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令something做这个

    mysql> grant all privileges on *.* to user@localhost identified by ’something’ with

    增加新用户

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

    GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY ’something’ WITH GRANT OPTION;

    GRANT ALL PRIVILEGES ON *.* TO monty@”%” IDENTIFIED BY ’something’ WITH GRANT OPTION;

    删除授权:

    mysql> revoke all privileges on *.* from root@”%”;

    mysql> delete from user where user=”root” and host=”%”;

    mysql> flush privileges;

    创建一个用户custom在特定客户端it363.com登录,可访问特定数据库fangchandb

    mysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com identified by ‘ passwd’

    重命名表:

    mysql > alter table t1 rename t2;

     

    4、mysqldump

    备份数据库

    shell> mysqldump -h host -u root -p dbname >dbname_backup.sql

    恢复数据库

    shell> mysqladmin -h myhost -u root -p create dbname

    shell> mysqldump -h host -u root -p dbname < dbname_backup.sql

    如果只想卸出建表指令,则命令如下:

    shell> mysqladmin -u root -p -d databasename > a.sql

    如果只想卸出插入数据的sql命令,而不需要建表命令,则命令如下:

    shell> mysqladmin -u root -p -t databasename > a.sql

    那么如果我只想要数据,而不想要什么sql命令时,应该如何操作呢?

       mysqldump -T./ phptest driver

    其中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与mysqldump同一目录。如果不指定driver 表,则将卸出整个数据库的数据。每个表会生成两个文件,一个为.sql文件,包含建表执行。另一个为.txt文件,只包含数据,且没有sql指令。

     

    5、可将查询存储在一个文件中并告诉mysql从文件中读取查询而不是等待键盘输入。可利用外壳程序键入重定向实用程序来完成这项工作。

    例如,如果在文件my_file.sql 中存放有查

    询,可如下执行这些查询:

    例如,如果您想将建表语句提前写在sql.txt中:

    mysql > mysql -h myhost -u root -p database < sql.txt

     

    转载声明:本文转自http://news.newhua.com/news1/program_database/2009/217/0921715343537K7H7IDI2CCI09JCI1DK8FJ4B07B3A04219G561C3JAB.html

    ================================================================================

      

     转 mysql命令

     

           一 . 安装与配置MYSQL
      二 . 常用mysql命令行命令

      1 .mysql的启动与停止
      启动MYSQL服务 net start mysql
      停止MYSQL服务 net stop mysql


      2 . netstat –na | findstr 3306 查看被监听的端口 , findstr用于查找后面的端口是否存在


      3 . 在命令行中登陆MYSQL控制台 , 即使用 MYSQL COMMEND LINE TOOL
       语法格式 mysql –user=root –password=123456 db_name
       或 mysql –u root –p123456 db_name


      4 . 进入MYSQL命令行工具后 , 使用status; 或/s 查看运行环境信息


      5 . 切换连接数据库的语法 : use new_dbname;
        
      6 . 显示所有数据库 : show databases;
      
      7 . 显示数据库中的所有表 : show tables;
      
      8 . 显示某个表创建时的全部信息 : show create table table_name;
      
      9 . 查看表的具体属性信息及表中各字段的描述
       Describe table_name; 缩写形式 : desc table_name;


      三 。 MySql中的SQL语句
      1 . 数据库创建 : Create database db_name;
      数据库删除 : Drop database db_name; 删除时可先判断是否存在,写成 : drop database if exits db_name
      
      2 . 建表 : 创建数据表的语法 : create table table_name (字段1 数据类型 , 字段2 数据类型);
       例 : create table mytable (id int , username char(20));
       删表 : drop table table_name; 例 : drop table mytable;
      
      8 . 添加数据 : Insert into 表名 [(字段1 , 字段2 , ….)] values (值1 , 值2 , …..);
      如果向表中的每个字段都插入一个值,那么前面 [ ] 括号内字段名可写也可不写
       例 : insert into mytable (id,username) values (1,’zhangsan’);
      
      9 . 查询 : 查询所有数据 : select * from table_name;
      查询指定字段的数据 : select 字段1 , 字段2 from table_name;
      例 : select id,username from mytable where id=1 order by desc;多表查询语句------------参照第17条实例
      
      10 . 更新指定数据 , 更新某一个字段的数据(注意,不是更新字段的名字)
      Update table_name set 字段名=’新值’ [, 字段2 =’新值’ , …..][where id=id_num] [order by 字段 顺序]
      例 : update mytable set username=’lisi’ where id=1;
      Order语句是查询的顺序 , 如 : order by id desc(或asc) , 顺序有两种 : desc倒序(100—1,即从最新数据往后查询),asc(从1-100),Where和order语句也可用于查询select 与删除delete
      
      11 . 删除表中的信息 :
       删除整个表中的信息 : delete from table_name;
       删除表中指定条件的语句 : delete from table_name where 条件语句 ; 条件语句如 : id=3;
      
      12 . 创建数据库用户
      一次可以创建多个数据库用户如:
      CREATE USER username1 identified BY ‘password’ , username2 IDENTIFIED BY ‘password’….
      
      13 . 用户的权限控制:grant
       库,表级的权限控制 : 将某个库中的某个表的控制权赋予某个用户
       Grant all ON db_name.table_name TO user_name [ indentified by ‘password’ ];
      
      14 . 表结构的修改
      (1)增加一个字段格式:
      alter table table_name add column (字段名 字段类型); ----此方法带括号
      (2)指定字段插入的位置:
      alter table table_name add column 字段名 字段类型 after 某字段;
      删除一个字段:
      alter table table_name drop字段名;
      (3)修改字段名称/类型
      alter table table_name change 旧字段名 新字段名 新字段的类型;
      (4)改表的名字
      alter table table_name rename to new_table_name;
      (5)一次性清空表中的所有数据
      truncate table table_name; 此方法也会使表中的取号器(ID)从1开始
      
      15 . 增加主键,外键,约束,索引。。。。(使用方法见17实例)
      ① 约束(主键Primary key、唯一性Unique、非空Not Null)
      ② 自动增张 auto_increment
      ③外键Foreign key-----与reference table_name(col_name列名)配合使用,建表时单独使用
      ④ 删除多个表中有关联的数据----设置foreign key 为set null ---具体设置参考帮助文档
      
      16 . 查看数据库当前引擎
       SHOW CREATE TABLE table_name;
       修改数据库引擎
       ALTER TABLE table_name ENGINE=MyISAM | InnoDB;
      
      17 . SQL语句运用实例:
      --1 建users表
      create table users (id int primary key auto_increment,nikename varchar(20) not null unique,password varchar(100) not null,address varchar(200), reg_date timestamp not null default CURRENT_TIMESTAMP);
      
      --2 建articles表,在建表时设置外键
      create table articles (id int primary key auto_increment,content longtext not null,userid int,constraint foreign key (userid) references users(id) on delete set null);
      
      -----------------------------------------------------------------------
      --2.1 建articles表,建表时不设置外键
       create table articles (id int primary key auto_increment,content longtext not null,userid int);
      --2.2 给articles表设置外键
       alter table articles add constraint foreign key (userid) references users(id) on delete set null;
      ------------------------------------------------------------------------
      
      --3. 向users表中插入数据,同时插入多条
      insert into users (id,nikename,password,address) values (1,'lyh1','1234',null),(10,'lyh22','4321','湖北武汉'),(null,'lyh333','5678', '北京海淀');
      
      --4. 向article中插入三条数据
      insert into articles (id,content,userid) values (2,'hahahahahaha',11),(null,'xixixixixix',10),(13,'aiaiaiaiaiaiaiaiaiaiaiaia',1),(14,'hohoahaoaoooooooooo',10);
      
      --5. 进行多表查询,选择users表中ID=10的用户发布的所有留言及该用户的所有信息
      select articles.id,articles.content,users.* from users,articles where users.id=10 and articles.userid=users.id order by articles.id desc;
      
      --6. 查看数据库引擎类型
      show create table users;
      
      --7. 修改数据库引擎类型
      alter table users engine=MyISAM; ---因为users表中ID被设置成外键,执行此句会出错
      
      --8. 同表查询,已知一个条件的情况下.查询ID号大于用户lyh1的ID号的所有用户
      select a.id,a.nikename,a.address from users a,users b where b.nikename='lyh1' and a.id>b.id;
      ------也可写成
      select id,nikename,address from users where id>(select id from users where nikename='lyh1');
      
      9. 显示年龄比领导还大的员工:
      select a.name from users a,users b where a.managerid=b.id and a.age>b.age;
      
      查询编号为2的发帖人: 先查articles表,得到发帖人的编号,再根据编号查users得到的用户名。
      接着用关联查询.
      select * from articles,users得到笛卡儿积,再加order by articles.id以便观察
      
      使用select * from articles,users where articles.id=2 筛选出2号帖子与每个用户的组合记录
      
      再使用select * from articles,users where articles.id=2 and articles.userid=users.id选出users.id等于2号帖的发帖人id的记录.
      
      只取用户名:select user where user.id=(select userid from articles where article.id =2)
      
      找出年龄比小王还大的人:假设小王是28岁,先想找出年龄大于28的人
      select * from users where age>(select age from users where name='xiaowang');
      *****要查询的记录需要参照表里面的其他记录:
      select a.name from users a,users b where b.name='xiaowang' and a.age>b.age
      
      表里的每个用户都想pk一下.select a.nickname,b.nickname from users a,users b where a.id>b.id ;
      
      更保险的语句:select a.nickname,b.nickname from (select * from users order by id) a,(se
      lect * from users order by id) b where a.id>b.id ;
      
      再查询某个人发的所有帖子.
      select b.* from articles a , articles b where a.id=2 and a.userid=b.userid
      
      说明: 表之间存在着关系,ER概念的解释,用access中的示例数据库演示表之间的关系.只有innodb引擎才支持foreign key,mysql的任何引擎目前都不支持check约束。
      四、字符集出现错误解决办法
      出现的问题:
      mysql> update users
      -> set username='关羽'
      -> where userid=2;
      ERROR 1366 (HY000): Incorrect string value: '/xB9/xD8/xD3/xF0' for column 'usern
      ame' at row 1
      向表中插入中文字符时,出现错误。
      
      mysql> select * from users;
      +--------+----------+
      | userid | username |
      +--------+----------+
      | 2 | ???? |
      | 3 | ???? |
      | 4 | ?í?ù |
      +--------+----------+
      3 rows in set (0.00 sec)
      表中的中文字符位乱码。
      解决办法:
      使用命令:
      mysql> status;
      --------------
      mysql Ver 14.12 Distrib 5.0.45, for Win32 (ia32)
      
      Connection id: 8
      Current database: test
      Current user: root@localhost
      SSL: Not in use
      Using delimiter: ;
      Server version: 5.0.45-community-nt MySQL Community Edition (GPL)
      Protocol version: 10
      Connection: localhost via TCP/IP
      Server characterset: latin1
      Db characterset: latin1
      Client characterset: gbk
      Conn. characterset: gbk
      TCP port: 3306
      Uptime: 7 hours 39 min 19 sec
      Threads: 2 Questions: 174 Slow queries: 0 Opens: 57 Flush tables: 1 Open ta
      bles: 1 Queries per second avg: 0.006
      --------------
      查看mysql发现Server characterset,Db characterset的字符集设成了latin1,所以出现中文乱码。
      
      mysql> show tables;
      +----------------+
      | Tables_in_test |
      +----------------+
      | users |
      +----------------+
      1 row in set (0.00 sec)
      
      更改表的字符集。
      mysql> alter table users character set GBK;
      Query OK, 3 rows affected (0.08 sec)
      Records: 3 Duplicates: 0 Warnings: 0
      
      查看表的结构:
      mysql> show create users;
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
      corresponds to your MySQL server version for the right syntax to use near 'users
      ' at line 1
      mysql> show create table users;
      +-------+-----------------------------------------------------------------------
      ------------------------------------------------------------------------------+
      | Table | Create Table
      |
      +-------+-----------------------------------------------------------------------
      ------------------------------------------------------------------------------+
      | users | CREATE TABLE `users` (
      `userid` int(11) default NULL,
      `username` char(20) character set latin1 default NULL
      ) ENGINE=InnoDB DEFAULT CHARSET=gbk |
      +-------+-----------------------------------------------------------------------
      ------------------------------------------------------------------------------+
      1 row in set (0.00 sec)
      
      mysql> desc users;
      +----------+----------+------+-----+---------+-------+
      | Field | Type | Null | Key | Default | Extra |
      +----------+----------+------+-----+---------+-------+
      | userid | int(11) | YES | | NULL | |
      | username | char(20) | YES | | NULL | |
      +----------+----------+------+-----+---------+-------+
      2 rows in set (0.02 sec)
      
      这时向表中插入中文然后有错误。
      mysql> insert into users values(88,'中文');
      ERROR 1366 (HY000): Incorrect string value: '/xD6/xD0/xCE/xC4' for column 'usern
      ame' at row 1
      mysql> insert into users values(88,'中文');
      ERROR 1366 (HY000): Incorrect string value: '/xD6/xD0/xCE/xC4' for column 'usern
      ame' at row 1
      
      还要更改users表的username的字符集。
      mysql> alter table users modify username char(20) character set gbk;
      ERROR 1366 (HY000): Incorrect string value: '/xC0/xEE/xCB/xC4' for column 'usern
      ame' at row 1
      mysql> alter table users modify username char(20) character set gbk;
      ERROR 1366 (HY000): Incorrect string value: '/xC0/xEE/xCB/xC4' for column 'usern
      ame' at row 1
      
      因为表中已经有数据,所以更改username字符集的操作没有成***
      清空users表中的数据
      mysql> truncate table users;
      Query OK, 3 rows affected (0.01 sec)
      
      从新更改user表中username的字符集
      mysql> alter table users modify username char(20) character set gbk;
      Query OK, 0 rows affected (0.06 sec)
      Records: 0 Duplicates: 0 Warnings: 0
      
      这时再插入中文字符,插入成***。
      mysql> insert into users values(88,'中文');
      Query OK, 1 row affected (0.01 sec)
      
      mysql> select * from users;
      +--------+----------+
      | userid | username |
      +--------+----------+
      | 88 | 中文 |
      +--------+----------+
      1 row in set (0.00 sec)
      mysql>

    转载声明:本文转自http://hi.baidu.com/zhjlabm/blog/item/b939fc3307a1d445ad4b5fbd.html

    ================================================================================

     

    学习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可以随时退出交互操作界面:
    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、多行语句
        一条命令可以分成多行输入,直到出现分号“;”为止:
    <ccid_nobr>
    <table width="400" border="1" cellspacing="0" cellpadding="2"
    bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center">
    <tr>
    <td bgcolor="e6e6e6" class="code" style="font-size:9pt">
    <pre><ccid_code> 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() |
    +------------------+
    | 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、命令的取消

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

    mysql> select
    -> user()
    -> c
    mysql>

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

     

    ==========================================================================

     

    mysql命令

     

    测试环境:mysql 5.0.45
    【注:可以在mysql中通过mysql> SELECT VERSION();来查看数据库版本】
    整理:leo


    一、连接MYSQL。
    格式: mysql -h主机地址 -u用户名 -p用户密码


    1、连接到本机上的MYSQL。
    首先打开DOS窗口,然后进入目录mysql/bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码.
    如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql>
    2、连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
    mysql -h110.110.110.110 -u root -p 123; (注:u与root之间可以不用加空格,其它也一样)
    3、退出MYSQL命令: exit (回车)


    二、修改密码。
    格式:mysqladmin -u用户名 -p旧密码 password 新密码
    1、给root加个密码ab12。首先在DOS下进入目录mysql/bin,然后键入以下命令
    mysqladmin -u root -password ab12
    注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
    2、再将root的密码改为djg345。
    mysqladmin -u root -p ab12 password djg345

    三、增加新用户。
    (注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
    格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”
    1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用root用户连入MYSQL,然后键入以下命令:
    grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;
    但增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见2。


    2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),
    这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
    grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;
    如果你不想test2有密码,可以再打一个命令将密码消掉。
    grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”;
    下篇我是MYSQL中有关数据库方面的操作。注意:你必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束。

    一、操作技巧
    1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。
    也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。
    2、你可以使用光标上下键调出以前的命令。

    二、显示命令
    1、显示当前数据库服务器中的数据库列表:
    mysql> SHOW DATABASES;
    注意:mysql库里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。


    2、显示数据库中的数据表:
    mysql> USE 库名;
    mysql> SHOW TABLES;


    3、显示数据表的结构:
    mysql> DESCRIBE 表名;


    4、建立数据库:
    mysql> CREATE DATABASE 库名;


    5、建立数据表:
    mysql> USE 库名;
    mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1));


    6、删除数据库:
    mysql> DROP DATABASE 库名;


    7、删除数据表:
    mysql> DROP TABLE 表名;


    8、将表中记录清空:
    mysql> DELETE FROM 表名;


    9、显示表中的记录:
    mysql> SELECT * FROM 表名;


    10、往表中插入记录:
    mysql> INSERT INTO 表名 VALUES (”hyq”,”M”);


    11、更新表中数据:
    mysql-> UPDATE 表名 SET 字段名1=’a',字段名2=’b’ WHERE 字段名3=’c';


    12、用文本方式将数据装入数据表中:
    mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE 表名;


    13、导入.sql文件命令:
    mysql> USE 数据库名;
    mysql> SOURCE d:/mysql.sql;


    14、命令行修改root密码:
    mysql> UPDATE mysql.user SET password=PASSWORD(’新密码’) WHERE User=’root’;
    mysql> FLUSH PRIVILEGES;


    15、显示use的数据库名:
    mysql> SELECT DATABASE();


    16、显示当前的user:
    mysql> SELECT USER();

    三、一个建库和建表以及插入数据的实例
    drop database if exists school; //如果存在SCHOOL则删除
    create database school;           //建立库SCHOOL
    use school;   //打开库SCHOOL
    create table teacher //建立表TEACHER
    (
    id int(3) auto_increment not null primary key,
    name char(10) not null,
    address varchar(50) default ‘深圳’,
    year date
    );
    //建表结束

    //以下为插入字段
    insert into teacher values(”,’allen’,'大连一中’,'1976-10-10′);
    insert into teacher values(”,’jack’,'大连二中’,'1975-12-23′);


    如果你在mysql提示符键入上面的命令也可以,但不方便调试。
    (1)你可以将以上命令原样写入一个文本文件中,假设为school.sql,然后复制到c://下,并在DOS状态进入目录[url=file:mysql//bin]//mysql//bin[/url],然后键入以下命令:
    mysql -uroot -p密码 < c://school.sql
    如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你只要将//的注释去掉即可使用)。
    (2)或者进入命令行后使用 mysql> source c://school.sql; 也可以将school.sql文件导入数据库中。

    四、将文本数据转到数据库中
    1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用[url=file:n]//n[/url]来代替.例:
    3 rose 大连二中 1976-10-10
    4 mike 大连一中 1975-12-23
    假设你把这两组数据存为school.txt文件,放在c盘根目录下。
    2、数据传入命令 load data local infile “c://school.txt” into table 表名;
    注意:你最好将文件复制到[url=file:mysql//bin]//mysql//bin[/url]目录下,并且要先用use命令打表所在的库。

    五、备份数据库
    1.导出整个数据库
    导出文件默认是存在mysql/bin目录下
    mysqldump -u 用户名 -p 数据库名 > 导出的文件名
    mysqldump -u user_name -p123456 database_name > outfile_name.sql

    2.导出一个表
    mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
    mysqldump -u user_name -p database_name table_name > outfile_name.sql

    3.导出一个数据库结构
    mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
    -d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table

    4.带语言参数导出
    mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql

    六、导入数据库

    例如:数据库名为 dbTest

    首先,进入mysql

    mysql -uroot -p123456

    然后,创建数据库

    create dbTest

    exit

    最后,导入数据库

    mysql -uroot -p123456 dbTest < dbTest_bk.sql


    数据库及表导出导入示例:

    导出数据库
    mysqldump -u root -p123456 gameTop > gameTop_db.sql

    导出数据库的表
    mysqldump -u -p123456 root gameTop gametop800 > gameTop_table.sql

    导出数据库的特定表
    mysqldump -u root -p123456  gameTop --table gametop800  > gameTop_table.sql



    导出数据库(只导结构,不要数据)
    mysqldump -u root -p123456 --opt -d gameTop > gameTop_db.sql

    或者

    mysqldump -u root -p123456  -d gameTop > gameTop_db.sql

    导出数据库(只导数据,不要结构
    mysqldump -u root -p123456  -t gameTop > gameTop_db.sql

    注:不加 -d 和 -t 则既导出结构,也导出数据


    mysqldump导出抛出异常:

    mysqldump: Got error: 1044: Access denied for user 'username'@'%' to database 'dbname' when using LOCK TABLES

    解决办法,添加参数 --skip-lock-tables

    mysqldump --skip-lock-tables -h172.88.12.102 -username-pAnJnVs3C2tYXyTwV dbname> dbname_bk.sql


    --------------------------
    导入数据库:

    登录MySQL:      mysql -uroot -p123456
    创建数据库:    create database gameTop;


    导入数据库:    

    mysql -uroot -p123456 gameTop < gameTop_db.sql


    导入数据库表:

    mysql -uroot -p123456 gameTop  gametop800 <  gameTop_table.sql


    导入数据库表:
    mysql -uroot -p123456 gameTop  < gameTop_table.sql   (不指定表名

     

    转载声明:本文转自http://blog.csdn.net/networld2002/archive/2009/04/23/4103407.aspx

    ==================================================================================

     

     

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


    2:创建一个数据库MYSQLDATA
    mysql> CREATE DATABASE MYSQLDATA;

    3:选择你所创建的数据库
    mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)


    4:查看现在的数据库中存在什么表
    mysql> SHOW TABLES;


    5:创建一个数据库表
    mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

    6:显示表的结构:
    mysql> DESCRIBE MYTABLE;


    7:往表中加入记录
    mysql> insert into MYTABLE values (”hyq”,”M”);

    8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)
    mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;

    9:导入.sql文件命令(例如D:/mysql.sql)
    mysql>use database;
    mysql>source d:/mysql.sql;


    10:删除表
    mysql>drop TABLE MYTABLE;

    11:清空表
    mysql>delete from MYTABLE;


    12:更新表中数据
    mysql>update MYTABLE set sex=”f” where name=’hyq’;

     

    以下是无意中在网络看到的使用MySql的管理心得,
    在windows中MySql以服务形式存在,在使用前应确保此服务已经启动,未启动可用net start mysql命令启动。而Linux中启动时可用“/etc/rc.d/init.d/mysqld start”命令,注意启动者应具有管理员权限。
    刚安装好的MySql包含一个含空密码的root帐户和一个匿名帐户,这是很大的安全隐患,对于一些重要的应用我们应将安全性尽可能提高,在这里应把匿名帐户删除、 root帐户设置密码,可用如下命令进行:
    use mysql;
    delete from User where User=”";
    update User set Password=PASSWORD(’newpassword’) where User=’root’;

    如果要对用户所用的登录终端进行限制,可以更新User表中相应用户的Host字段,在进行了以上更改后应重新启动数据库服务,此时登录时可用如下类似命令:
    mysql -uroot -p;
    mysql -uroot -pnewpassword;
    mysql mydb -uroot -p;
    mysql mydb -uroot -pnewpassword;

    上面命令参数是常用参数的一部分,详细情况可参考文档。此处的mydb是要登录的数据库的名称。
    在 进行开发和实际应用中,用户不应该只用root用户进行连接数据库,虽然使用root用户进行测试时很方便,但会给系统带来重大安全隐患,也不利于管理技 术的提高。我们给一个应用中使用的用户赋予最恰当的数据库权限。如一个只进行数据插入的用户不应赋予其删除数据的权限。

    MySql的用户管理是通过 User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用 户。其中GRANT的常用用法如下:
    grant all on mydb.* to NewUserName@HostName identified by “password” ;
    grant usage on *.* to NewUserName@HostName identified by “password”;
    grant select,insert,update on mydb.* to NewUserName@HostName identified by “password”;
    grant update,delete on mydb.TestTable to NewUserName@HostName identified by “password”;


    若 要给此用户赋予他在相应对象上的权限的管理能力,可在GRANT后面添加WITH GRANT OPTION选项。而对于用插入User表添加的用户,Password字段应用PASSWORD 函数进行更新加密,以防不轨之人窃看密码。对于那些已经不用的用户应给予清除,权限过界的用户应及时回收权限,回收权限可以通过更新User表相应字段, 也可以使用REVOKE操作。
    下面给出本人从其它资料(www.cn-java.com)获得的对常用权限的解释:
    全局管理权限:
    FILE: 在MySQL服务器上读写文件。
    PROCESS: 显示或杀死属于其它用户的服务线程。
    RELOAD: 重载访问控制表,刷新日志等。
    SHUTDOWN: 关闭MySQL服务。
    数据库/数据表/数据列权限:
    ALTER: 修改已存在的数据表(例如增加/删除列)和索引。
    CREATE: 建立新的数据库或数据表。
    DELETE: 删除表的记录。
    DROP: 删除数据表或数据库。
    INDEX: 建立或删除索引。
    INSERT: 增加表的记录。
    SELECT: 显示/搜索表的记录。
    UPDATE: 修改表中已存在的记录。
    特别的权限:
    ALL: 允许做任何事(和root一样)。
    USAGE: 只允许登录–其它什么也不允许做。

     


    知识拓展:

    Ubuntu下远程访问MySQL数据库


    mysql -uroot -p123456 gameTop  gametop800 < gameTop_db.sql
    展开全文
  • ASP技术访问WEB数据库(转载)

    万次阅读 2004-09-26 21:07:00
     访问WEB数据库的多种方案 目前在WINDOWS环境下有多种访问WEB数据库的技术,主要有: 1.公共网关接口CGI(Common Gateway Interface) CGI是较早实现的技术。适用于多种服务器平台,如UNIX、WINDOWS等,但CGI的...
    一. 访问WEB数据库的多种方案
      目前在WINDOWS环境下有多种访问WEB数据库的技术,主要有:
      1.公共网关接口CGI(Common Gateway Interface)
      CGI是较早实现的技术。适用于多种服务器平台,如UNIX、WINDOWS等,但CGI的开发
    成本高、维护困难、功能有限、不具备事务处理功能、占用服务器资源较多。
      2. INTERNET数据库连接器IDC(Internet Database Connector)
      IDC集成在ISAPI(Internet Server API)中,充分利用了DLL技术,易扩充,但编程
    较CGI更为复杂,只适用于小型数据库系统。
      3. 先进数据库连接器ADC(Advance Database Connector)
      ADC提供了ActiveX Control来访问数据库,它的主要特点是数据查询由用户端浏览
    器执行,因而需将服务器端数据库中的部分记录下载到用户端,系统开销较大、响应慢
    ,只适用于特别频繁的数据库查询操作。
      4. JAVA/JDBC语言编程
      JAVA语言是一种面向对象、易移植、多线程控制的语言,可通过JDBC去连接数据库
    。用JAVA/JDBC编写的软件可移植性强,适用于多种操作系统,但其执行效率和执行速度
    还不理想,目前无法建立高效、高速的应用。
      5. 动态服务器页面ASP(Active Server Page)
      ASP是微软公司最新推出的WEB应用开发技术,着重于处理动态网页和WEB数据库的开
    发,编程灵活、简洁,具有较高的性能,是目前访问WEB数据库的最佳选择。
      二. ASP简介
      1.ASP访问数据库的原理
      ASP是服务器端的脚本执行环境,可用来产生和执行动态的高性能的WEB服务器程序

      当用户使用浏览器请求ASP主页时,WEB服务器响应,调用ASP引擎来执行ASP文件,
    并解释其中的脚本语言(JScript 或VBScript),通过ODBC连接数据库,由数据库访问组
    件ADO(ActiveX Data Objects)完成数据库操作,最后ASP生成包含有数据查询结果的HT
    ML主页返回用户端显示。
      由于ASP在服务器端运行,运行结果以HTML主页形式返回用户浏览器,因而ASP源程
    序不会泄密,增加了系统的安全保密性。此外,ASP是面向对象的脚本环境,用户可自行
    增加ActiveX组件来扩充其功能,拓展应用范围。
      2.ASP页面的结构:
      ASP的程序代码简单、通用,文件名由.asp结尾,ASP文件通常由四部分构成:
      1) 标准的HTML标记:所有的HTML标记均可使用。
      2) ASP语法命令:位于<% %> 标签内的ASP代码。
      3) 服务器端的include语句:可用#include语句调入其它ASP代码,增强了编程的灵
    活性。
      4) 脚本语言:ASP自带JScript和VBScript两种脚本语言,增加了ASP的编程功能,
    用户也可安装其它脚本语言,如Perl、Rexx等。
      3.ASP的运行环境
      目前ASP可运行在三种环境下。
      1) WINDOWS NT server 4.0运行IIS 3.0(Internet Information Server)以上。
      2) WINDOWS NT workstation 4.0运行Peer Web Server 3.0以上。
      3) WINDOWS 95/98运行PWS(Personal Web Server)。
      其中以NT server上的IIS功能最强,提供了对ASP的全面支持,是创建高速、稳定的
    ASP主页的最佳选择。
      4.ASP的内建对象
      ASP提供了六个内建对象,供用户直接调用:
      1) Application对象:负责管理所有会话信息,可用来在指定的应用程序的所有用
    户之间共享信息。
      2) Session对象:存贮特定用户的会话信息,只被该用户访问,当用户在不同WEB页
    面跳转时,Session中的变量在用户整个会话过程中一直保存。Session对象需cookie支
    持。
      3) Request对象:从用户端取得信息传递给服务器,是ASP读取用户输入的主要方法

      4) Response对象:服务器将输出内容发送到用户端。
      5) Server对象:提供对服务器有关方法和属性的访问。
      6) Object Context对象:IIS 4.0新增的对象,用来进行事务处理。此项功能需得
    到MTS(Microsoft Transcation Server)管理的支持。
      5. ASP的主要内置组件:
      1) Ad Rotator组件:用来按指定计划在同一页上自动轮换显示广告,用于WWW上日
    益重要的广告服务。
      2) Browser Capabilities组件:确定访问WEB站点的用户浏览器的功能数据,包括
    类型、性能、版本等。
      3) Database Access组件:提供ADO (ActiveX Data Objects)来访问支持ODBC的数
    据库。
      4) File Access组件:提供对服务器端文件的读写功能。
      5) Content Linking组件:生成WEB页内容列表,并将各页顺序连接,用于制作导航
    条。
      此外,还可安装Myinfo、Counters、Content Rotator、Page Count等组件,用户也
    可自行编制Actiive组件,以提高系统的实用性。
      6. Database Access组件ADO
      WWW上很重要的应用是访问WEB数据库,用ASP访问WEB数据库时,必须使用ADO组件,
    ADO是ASP内置的ActiveX服务器组件(ActiveX Server Component),通过在WEB服务器上
    设置ODBC和OLEDB可连接多种数据库:如SYBASE、ORACLE、INFORMIX、SQL SERVER、ACC
    ESS、VFP等,是对目前微软所支持的数据库进行操作的最有效和最简单直接的方法。
      ADO组件主要提供了以下七个对象和四个集合来访问数据库。
      1) Connection对象:建立与后台数据库的连接。
      2) Command对象:执行SQL指令,访问数据库。
      3) Parameters对象和Parameters集合:为Command对象提供数据和参数。
      4) RecordSet对象:存放访问数据库后的数据信息,是最经常使用的对象。
      5) Field对象和Field集合:提供对RecordSet中当前记录的各个字段进行访问的功
    能。
      6) Property对象和Properties集合:提供有关信息,供Connection、Command、Re
    cordSet、Field对象使用。
      7) Error对象和Errors集合:提供访问数据库时的错误信息。
      三. ASP访问数据库步骤
      在ASP中,使用ADO组件访问后台数据库,可通过以下步骤进行:
      1. 定义数据源
      在WEB服务器上打开“控制面板”,选中“ODBC”,在“系统DSN”下选“添加”,
    选定你希望的数据库种类、名称、位置等。本文定义“SQL SERVER”,数据源为“HT”
    ,数据库名称为“HTDATA”,脚本语言采用Jscript。
      2,使用ADO组件查询WEB数据库
      1) 调用Server.CreateObject方法取得“ADODB.Connection”的实例,再使用Open
    方法打开数据库:
      conn = Server.CreateObject(“ADODB.Connection”)
      conn.Open(“HT”)
      2) 指定要执行的SQL命令
      连接数据库后,可对数据库操作,如查询,修改,删除等,这些都是通过SQL指令来
    完成的,如要在数据表signaltab中查询代码中含有“X”的记录
      sqlStr = “select * from signaltab where code like ‘%X%’”
      rs = conn.Execute(sqlStr)
      3) 使用RecordSet属性和方法,并显示结果
      为了更精确地跟踪数据,要用RecordSet组件创建包含数据的游标,游标就是储存在
    内存中的数据。
      rs = Server.CreateObject(“ADODB.RecordSet”)
      rs.Open(sqlStr,conn,1,A)
      注:A=1读取
      A=3 新增、修改、删除
      在RecordSet组件中,常用的属性和方法有:
      rs.Fields.Count: RecordSet对象的字段数。
      rs(i).Name: 第i个字段的名称,i为0至rs.Fields.Count-1
      rs(i): 第i个字段的数据,i为0至rs.Fields.Count-1
      rs("字段名"): 指定字段的数据。
      rs.Record.Count:游标中的数据记录总数。
      rs.EOF: 是否最后一条记录。
      rs.MoveFirst: 指向第一条记录。
      rs.MoveLast: 指向最后一条记录。
      rs.MovePrev: 指向上一条记录。
      rs.MoveNext: 指向下一条记录。
      rs.GetRows: 将数据放入数组中。
      rs.Properties.Count:ADO的ResultSet或Connection的属性个数。
      rs.Properties(item).Name:ADO的ResultSet或Connection的名称。
      rs.Properties: ADO的ResultSet或Connection的值。
      rs.close(): 关闭连接。
      4) 关闭数据库
      conn.close()
      四.查询WEB数据库举例
      下面这段示例程序是访问SQL SERVER数据库的 signaltab表,表中有三个字段:co
    de(代码字段,字符型,3位),class(分类字段,字符型,10位),memo(备注字段,字符
    型,20位)。程序中数据源DSN:HT、用户名:client、口令:passwd。
      屏幕输入页面input.asp
      <% @ language=javascript %>
      <html>
      <head>
      <title>请输入查询条件PLEASE INPUT CONDITION</title>
      </head>
      <form action=shotquery.asp METHOD="post" target="_self">
      <input TYPE="text" size=6 maxlength=3 NAME=signalCode VALUE="代码"> </fo
    nt></p>
      </center></div><p></p>
      <input LANGUAGE="JavaScript" TYPE="submit" VALUE=“确认” NAME="B1"
      
      <input TYPE="reset" VALUE=“清除”NAME="B2">
      
      <input LANGUAGE="JavaScript" TYPE="button" NAME="B3" VALUE=“返回”
      ONCLICK="window.history.back()">
      </font></p>
      </center></div>
      </form>
      </body>
      </html>
      数据库处理程序shotquery.asp
      <!--#include virtual="/master/lib.inc"-->
      <script language=javascript runat=server>
      var signalCode=Request.Form("signalCode");
      dbConn = Server.CreateObject("ADODB.Connection");
      dbConn.open("DSN=HT;UID=client;PWD=passwd");
      rs = Server.CreateObject("ADODB.RecordSet");
      var sqlStr = "select * from signaltab order by code";
      rs.open(sqlStr,dbConn,1);
      if(rs.RecordCount < 1) {
      Response.write("<p>      无符合条件记录</p>");
      Response.write("<p><form>       <input type='button' value=' 返回' oncli
    ck='window.history.back()' name='b1'></form></p>");
      }
      else {
      Response.write("<P><center><B>数据查询结果</B></center></P>");
      Response.write("<tr><td><b>代码</b></td><td><b>分类</b></td><td><b>备注<
    /b></td>");
      for(var i = 1;i <= rs.Pagesize;i++) {
      if(!rs.Eof) {
      Response.write("<td><span style='font-size:9t'>"+rs("code")+"</span></td
    >");
      Response.write("<td><span style='font-size:9t'>"+rs("class")+"</span></t
    d>");
      Response.write("<td><span style='font-size:9t'>"+rs("memo")+"</span></td
    >");
      Response.write("</tr>");
      rs.MoveNext();
      }
      else break;
      }
      Response.write("</table></form>");
      rs.close();
      dbConn.close();
      }
      </script>
    展开全文
  • 知识点:常用数据库介绍、数据库的基本概念了解、登录SQL Server数据库、创建和管理SQL Server数据库 1. 常用数据库介绍 1.1 为什么需要数据库数据库,顾名思义就是存储数据的仓库,数据库最终的目的是存储...
  • MySQL 数据库常用命令

    千次阅读 2019-02-20 16:09:40
    引言 在前面博客中,有提到用 mysql 作为数据库进行测试。在这里对 mysql 及其常用命令进行简单介绍,起到...MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Ma...
  • 本文主要介绍的就是在HBuilder+MUI框架进行html5开发中websql数据库的操作方法,以具体实例说明如何通过JavaScript封装的html5操作websql数据库
  • 常用数据库访问方式是什么?

    千次阅读 2006-03-13 11:26:00
    ASP访问数据库的方式有哪些? 在ASP中可以通过三种方式访问数据库: 1、IDC(Internet Database Connector)方式; 2、ADO(ActiveX Data Objects)方式; 3、RDS(Remote Data Service)方式。 这三种访问方式对...
  • 数据库常用引擎和区别和比较 面试官经常问的基础问题,就是基于MySQL数据库的这几种引擎。 · MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意,通过更改...
  • MySql数据库常用命令总结(全)

    千次阅读 多人点赞 2016-12-15 09:22:10
    一、数据库级命令1. 数据库连接命令:mysql -h主机地址 -u用户名 -p用户密码  1、找到安装目录bin, 进入该工作目录,键入该命令mysql -u root -p,提示输入密码,用户名前可以有空格也可以没有空格,但是密码前...
  • 本文是对前几天的“JDBC连接Access数据库的几种方式”这篇的升级。由于在做一些小项目的时候遇到的问题,因此才决定写这篇博客的。昨天已经将博客发布了,但是后来经过一些验证有点问题,所以今天改了一下重新的发布...
  • 常用数据库访问接口介绍(一)

    万次阅读 2015-04-17 10:15:12
    数据库访问接口这些东西很烦,但有些东西无论你怎么努力都是绕不过去的,最终还是要回来。就像中国从制度上跳过了资本主义社会一样,还不是得回来补经济课!用了差不多3天左右的时间,查了60页左右的资料,总算大体...
  • 常用数据库排名及分类介绍

    万次阅读 多人点赞 2019-07-10 21:46:20
    DB-Engines:2019年6月全球数据库排行 DB-Engines 数据库流行度排行榜 6 月更新已发布,排名前二十如下:总体排名和上个月相比基本一致,其中排名前三的Oracle、MySQL 和 Microsoft SQL Server 也是分数增加最多的...
  • MySQL常用数据库引擎

    千次阅读 2019-05-24 18:02:49
    MySQL常用数据库引擎 查看MySQL数据库使用的引擎 SHOW ENGINES; 查看数据库默认使用哪个引擎 SHOW VARIABLES LIKE 'storage_engine'; MyISAM存储引擎 MyISAM基于ISAM存储引擎,并对其进行扩展。它是在...
  • 常用嵌入式数据库

    千次阅读 2012-02-11 10:54:28
    嵌入式数据库常用嵌入式数据库概览 Berkeley DB概述 http://www.cppblog.com/michaelgao/archive/2008/06/24/54435.html Berkeley DB是由美国Sleepycat Software公司开发的一套开放源码的嵌入式数据库的程序库...
  • 高并发访问数据库问题

    万次阅读 2016-03-23 16:26:38
    使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器。但是除了这几个方面,还没法根本解决大型网站面临的高负载和高并发问题。 上面提供的几个解决思路在一定程度上也意味着更大的投入...
  • 首先放出所常用的对象: System.Data.SqlClient.SqlConnection System.Data.SqlClient.SqlCommand System.Data.SqlClient.SqlDataAdapter SqlConnection对象用于连接SqlServer数据库,SqlCommand对象用于执行sql...
  • 常用数据库对比

    千次阅读 2018-01-07 11:08:21
    从网上找了点MySQL、Oracle、SqlServer的优缺点: MySql: 优点:  1.支持5000万条记录的数据仓库 ...MyISAM数据库与磁盘非常地兼容而不占用过多的CPU和内存。MySQL可以运行于Windows系统而不
  • 数据库入侵方法

    千次阅读 2005-03-08 21:40:00
    一般的web server都要使用数据库来存储信息,几乎所有的网站都要用数据库。这样就存在着两种可能,一种是使用小型数据库,如aceess,一般就储存在本地。另一种是使用大型数据库,如SQL server,Oracle这时候一般就放在...
  • Java web项目的数据库连接池讲解

    千次阅读 2013-07-02 00:06:19
    在实际应用开发中,特别是在WEB应用系统中,如果JSP、Servlet或EJB使用JDBC直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接、打开数据库、存取数据和关闭数据库连接等步骤,而连接并打开数据库...
  • MySQL数据库访问性能优化

    万次阅读 多人点赞 2018-03-01 09:07:50
    MYSQL应该是最流行的WEB后端数据库。大量应用于PHP,Ruby,Python,Java 等Web语言开发项目中,无论NOSQL发展多么快,都不影响大部分架构师选择MYSQL作为数据存储。 MYSQL如此方便和稳定,以至于我们在开发 WEB 程序...
  • Tomcat连接数据库方法

    千次阅读 2020-03-12 18:07:17
    JDBC:(Java database connectivity)是基于java数据访问技术的一个API通过客户端访问服务器的数据库,是一个面向关系型数据库并提供一种方法查询和更新数据库; JNDI:(Java naming and directory interface)JNDI...
  • 常用数据库软件简介

    千次阅读 2012-08-16 15:39:34
    Access数据库  Access数据库被集成在Office办公软件中,是世界上最流行的桌面数据库管理系统。Access是一种功能强大且使用方便的关系型数据库管理系统,一般也称关系型数据库管理软件。它可运行于各种Microsoft ...
  • 来自:http://yuantaolzu.blog.sohu.com/80762184.html1 常见数据库访问接口1.1 ODBC ODBC:开放式数据库互连(Open Database Connectivity),是微软公司推出的一种实现应用程序和关系数据库之间通讯的方法标准,...
  • Linux下常用数据库介绍

    千次阅读 2020-08-23 16:59:10
    织形式或数据之间的联系)来对数据进行组织和存储的,可以通过数据库提供的多种方法来管理其 中的数据。 2.数据库的种类 关系型数据库和非关系型数据库。 3.关系型数据库 关系型数据库模型是把复杂的数据结构...
  • 利用spring访问数据库是我们ssh程序中必不可少的步骤,在没有hibernate之前,我们一般都用jdbc访问数据库,所以用jdbc访问数据库必不可少的要进行一些配置,spring中为我们提供了访问数据库的数据源配置,配置完以后...
  • ADO.NET连接数据库方法

    千次阅读 热门讨论 2017-06-16 11:14:03
    到今天为止,已经和数据库打过无数交道了,到直到现在才明白数据库是如何就和客户端建立了连接,怎么就可以把数据库的数据传递到客服端或客户端数据是如何就把元数据存到了数据库中 【数据库与客户端的连接】 其实...
  • 五大常用数据库的应用领域介绍

    千次阅读 2021-02-14 14:46:33
    是一款关联式数据序管理型系统的数据库,通常是被用来开发Web 应用程序这些应用程序都利用Asp技术在IIs上运行,但是由于Access 是小型的数据库,在很多的使用上都有着局限性,而且如果过多的数据库访问量还会造成...
  • 数据库设计方法和原则

    万次阅读 2015-03-22 22:41:29
    数据库设计方法和原则 11 个重要的数据库设计规则 来源: 开源中国社区 英文原文: 11 Important Database designing rules  简介  在您开始阅读这篇文章之前,我得明确地告诉您,我并不是一个数据库设计...
  • 大数据常用数据库汇总

    千次阅读 2020-02-20 08:30:00
    通常数据库分为关系型数据库和非关系型数据库,关系型数据库的优势到现在也是无可替代的,比如MySQL、SQL Server、Oracle、DB2、SyBase、Informix、Postg...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 220,454
精华内容 88,181
关键字:

web访问数据库的常用方法