net stop mysql
net start mysql
第二招、登陆mysql
语法如下: mysql -u用户名 -p用户密码
键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:
mysql>
注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP
第三招、增加新用户
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"
如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。
首先用以root用户连入mysql,然后键入以下命令:
grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。
如果你不想user1有密码,可以再打一个命令将密码去掉。
grant select,insert,update,delete on mydb.* to user1@localhost identified by "";
第四招: 操作数据库
登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。
1、 显示数据库列表。
show databases;
缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。
2、 显示库中的数据表:
use mysql;
show tables;
3、 显示数据表的结构:
describe 表名;
4、 建库与删库:
create database 库名;
drop database 库名;
5、 建表:
use 库名;
create table 表名(字段列表);
drop table 表名;
6、 清空表中记录:
delete from 表名;
7、 显示表中的记录:
select * from 表名;
第五招、导出和导入数据
1. 导出数据:
mysqldump --opt test > mysql.test
即将数据库test数据库导出到mysql.test文件,后者是一个文本文件
如:mysqldump -u root -p123456 --databases dbname > mysql.dbname
就是把数据库dbname导出到文件mysql.dbname中。
2. 导入数据:
mysqlimport -u root -p123456 < mysql.dbname。
不用解释了吧。
3. 将文本数据导入数据库:
文本数据的字段数据之间用tab键隔开。
use test;
load data local infile "文件名" into table 表名;
1:使用SHOW语句找出在服务器上当前存在什么数据库:
mysql> SHOW DATABASES;
2: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';
posted on 2006-01-10 16:21 happytian 阅读(6) 评论(0) 编辑 收藏 收藏至365Key
13:备份数据库
mysqldump -u root 库名>xxx.data
14:例2:连接到远程主机上的MYSQL
假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql -h110.110.110.110 -uroot -pabcd123
(注:u与root可以不用加空格,其它也一样)
3、退出MYSQL命令: exit (回车)
=========================================================================================================================
mysql:Oracle
开源数据库
SQL:structed query lan
CUSD
c:create
u:update
s:selecte
d:delete
创建数据库
create database 数据库名;
查询所有已存在的数据库
show databases;
查询某个数据库
show database 数据库名
删除数据库
drop database 数据库名;
删除数据库,前提数据库必须存在
drop database if exists 数据库名;
切换数据库
use 数据库;
数据表
显示所有表
show tables;
查看表结构
describe 表名;
desc 表名;
创建表
create table 表名(
//字段名 字段类型 字段属性(auto_increment,not null,primary key)
_id int(4) auto_increment not null primary key,
_name char(10) not null,
_sex char (1)
);
删除表
drop table 表名;
drop table if exists 表名;
更新表
卸载字段
alter table 表名 drop 字段名;
增加字段
alter table 表名 add 字段名 字段属性
CUSD
c:create
插入数据
insert into 表名 values(数据1,数据2,...);
指定插入指定字段数据
insert into 表名(字段1,字段2,..) values(数据1,数据2,...);
s:select
数据查询
selcet * from 表名; 查询该表中所有字段的记录
select 字段名,字段名... from 表名;查询该表中指定字段记录
=========条件查询==========
=号特点是内容必须完全匹配
select * from 表名 where 字段=具体值;
select * from stu where _name='李四' and _set='女'; 同时满足多个条件
select * from stu where _name='李四' or _set='女'; 其中一个条件满足即可
========模糊查询===========
select * from stu where _name like 'zh%'; 表示以zh开头
select * from stu where _name like '%zh'; 表示以zh结尾
select * from stu where _name like '%zh%'; 表示包含zh
select * from stu where _name not like 'zh%'; 表示不以zh开头
========范围查询===========
select * from stu where _id between 2 and 10; 查询指定范围内的记录
select * from stu where _id>1 and _id<10;查询指定范围记录,不包含边界值
select * from stu _id in (1,2,3);查询符合指定集合内容的记录
select * from stu _id not in (1,2,3);查询不符合指定集合内容的记录
select * from stu limit 2,5; 显示结果从2(不包含2)的后5条记录
=======升序,降序===========
select * from stu order by _id desc; 根据指定字段降序
select * from stu order by _id asc; 根据指定字段升序
=======聚合函数============
select sum(_id)[别名] from stu; 对指定字段求和
select avg(_id)[别名] from stu; 对指定字段求平均
select max(_id)[别名] from stu; 对指定字段求最大值
select min(_id)[别名] from stu; 对指定字段求最小值
select count(_name)[别名] from stu; 统计指定字段的记录总数,如果该字段为空,不会
统计进最后结果
d:delete
======删除数据========
delete from stu where _id=111; 删除_id为111的记录
PS:delete from stu; 清空表
u:update
======更新数据=======
update stu set _id=10 where _id=123; 将_id=123的记录的_id修改为10
PS:update stu set _name='a'; 更新所有记录的_name字段内容
java连接数据库
ODBC
JDBC驱动
1.添加jdbc驱动到工程中
1).首先在工程中创建一个lib目录,并且将jdbc驱动copy到该目录中
2).右键设置工程的java build path 中的Libraries,然后add JARs,添加上一步的jdbc驱动
2.代码连接
1)加载驱动
2)连接
3)执行语句
3.执行语句
Statement
PreparedStatement 带缓存并且防sql注入
ResultSet
1.切换到mysql数据库
use mysql;
2.添加一个远程用户
grant all privileges on *.* to root@对方ip identified by '密码';
3.修改/etc/mysql/my.cnf
注释bind开头这一行
4.重启数据库服务
=============================================================================================================================
1.下载,安装和卸载mySql->sun->oracle
2.卸载MySQL-5.1.exe Remove,然后删除c盘和D盘下面原来的目录
3.安装MySQL
4.查看windows服务(启动,重启,停止)改变启动类型(属性->手动)
5.用命令行启动和关闭服务 启动:net start mysql 停止: net stop mysql
6.登陆和退出mysql 登陆:mysql -utoot -p123 退出:exit
7.登陆别人的服务器 mysql mysql -utoot -p123 -h IP
8.几个mysql语句 查看服务器里面的所有表:show databases
进入数据库 :use database(数据库名) 查看数据库里面的表:show tables
创建数据库:create database databaseName 删除数据库:drop database databaseName
创建表:create table tableName(name 类型 , ........);
查看表的描述 desc tableName
对表中的数据记录进行相关的操作(增 , 改 ,删 ,查)
查询 select * from tableName (* 代表所有)
插入 insert into tableName(字段名,....) values(属性,......)
删除 delete from tableName where 字段名=属性
修改 update dept set name=属性 where name=属性
例子:
create table emp(
id int primary key auto_increment,
name varchar(60),
salary float,
deptId int
);
insert into emp(name,salary,deptId) values('qingchuan',2800,101);
条件查询的不等于 select * from emp where salary<>3000; select * from emp where salary!=3000
条件查询的范围限制 select * from emp where salary>=3000 and salary<=4000;
select * from emp where salary between 2000 and 4000;
多条件查询 select * from emp where salary>4000 or deptId=100;
select * from emp where salary>4000 and deptId=100;
在某一个字段不间断的范围查询 select * from emp where deptId in(100,101);
条件查询支持 > < = % != + - * / ^ 等运算
给字段取别名 select name '别名',salary as '月薪' from emp; (包含了两种方法)
集合用法 1. count select count(*) '别名' from emp where deptId=100;
2.sum select sum(字段名) from emp where deptId=100;
3.max,min select max(字段名) from emp where deptId=100;
4.avg(求平均值) select avg(字段名) from emp where deptId=100;
模糊查询 select * from emp where name like '%s%';(查询含有s的)
(% 匹配任意一个字符 _匹配单个字符)
嵌套子查询(内查询的结果作为另一个查询的条件)
select name from emp where deptId=(select deptId from emp where name='qingchuan');
排序查询 select name from emp order by salary desc(降序);(默认是升序 asc)
select name from emp order by salary desc,deptId;(多条件排序)
分页:limit select * from emp limit 0,3;(第一个数代表索引,第二个数代表显示的记录个数)
添加一个字段 alter table tableName add 字段 类型(length);
分组:group by 字段(columnName) 一般在做统计时与几何函数配套使用
select sex,count(*) from emp group by sex;
判断空 (非空) is (not) null select * from emp where sex is null;
having 的附加添加查询
select deptId,count(*) from emp group by deptId having count(*) > 4;