常用MySQL语句,自己从网络整理,今天把它们汇到一起

第一招、mysql服务的启动和停止

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;
    
    
    
    














  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值