mysql的基本命令

窗口DOS界面运行:
net start | find /I "mysql" 查看MYSQL 是否启动
net start mysql服务名 //启动
net stop mysql服务名 //停止

mysql 运行界面:
mysql -h localhost -u root -p  //进入数据库
exit;                        //断开数据库
create datebase 数据库名;//创建数据库

如何取消语句:输入c并按回车键。

show databases; //查看数据库信息

use 数据库名;// 使用某个数据库

drop database 数据库名; //删除数据库

create database school character set utf8 collate utf8_general_ci;
//创建数据库的同时  设置字符集编码

set names utf8;

create table if not exists study (                              
    id int not null default '' primary key auto_increment,
    name varchar(50) not null default '' comment '姓名',
    password varchar (50)
) engine =InnoDB‘引擎’ defalult charset =utf8 comment = "测试的用户表";

show tables from 数据库名; //查看指定数据库中所有的数据表

show columns from 数据库名.数据表名;//查看某个指定数据表的字段信息

describe 数据库名.数据表名  //查看数据表的字段信息  简写desc
describe 数据库名.数据表名 字段名 //查看数据表指定的某个字段信息

insert into 数据表名 (id,name,...) values (2,'zhang',....);

alter table 原数据表名 rename 新数据表名;
alter table 数据表名 change 原字段名 字段的定义;
alter table 数据表名 add column 增加的字段定义;
alter table 数据表名 drop 要删除的字段名称;

drop table if exits 数据表名;  //删除数据表
show warnings; //查看警告信息





对数据表的操作:

select id,name from 数据表名 where id=2 //查询
order by 字段名 asc(升序) | desc(降序)
group by 字段名//用于结合合计函数,根据一个或多个列对结果集进行分组。
having  合计函数判断条件  //根据分组选出有效的内容 
//having sum(OrderPrice)<2000;
limit 次数 //记录几条信息
limit 1,3;//从第2行开始 读取3行   0下标

select……as的用法:
as可理解为:用作、当成,作为;一般是重命名列名或者表名。
select  column_1  as  列1,column_2 as  列2   from  table  as  表
上面的语句就可以解释为,选择 column_1  作为  列1,column_2 作为   列2  从 table  当成 表



select count(distinct 字段名) from 数据表名 where 条件;
//查询某个字段名的总数,并且剔除字段值重复的记录
//条件可以多条语句 > < = >= <=  or and !=  like( 匹配任何数量字符的%  只匹配一个字符的 _)
                  like '%java_';
多表查询 select orders.oid,orders.amount,orders.date
        from customers,orders
        where customers.name ='Julie' and customers.cid=orders.oid;

department IN ('计算机系','英语系');  //in() 测试一个值是否在特定的集合
department='计算机系' or department='英语系';
between  a and b;  在a和b之间

max(字段名)  min(字段名) sum(字段名) avg(字段名列) count(项目名)


insert into 数据表名 (id,name)不写这个默认全部 value (2,'maying');//插入
多条插入:
insert into study (id,name) values (2,'zhang'),(3,'jin'),(4,'xing');

update 数据表名 set name ='xiaoming' password='12345' where id=2; //更新
order by 字段名 limit 次数;


delete from 数据表名 where id=2;  删除

grant命令:
grant privileges [columns]
on 数据库或表
to user_name [identified by 'password']
[with grant option];

revoke命令:
revoke privileges [columns]
on 数据库或表
from user_name;

例如:授予了用户名Fred,密码为mnb123的用户使用所以数据库的所有权限
   grant all privileges
   on *.*
   to Fred identified by 'mnb123'
   with grant option;

   不希望用户在系统中存在:
   revoke all privileges ,grant
   from fred;

   授予一些权限:
   grant select ,insert,update,delete,index,alter,create,drop
   on book.*  //book数据库的所有表
   to sally;

   去除一些权限:
   revoke alter,create,drop
   on book.*
   from sally;

   去除所有权限:
   revoke all
   on book.*
   from sally;
   /*用root登陆mysql数据库,如果mydb不存在,则在mysql中创建数据库mydb,
   给root用户分配所有权限从192.168.1.1 ip来访问mysdb数据库。(root用户密码为空)(10分)

   create database if not exists mydb;
   grant all privileges on mysdb.* to root@'19.168.1.1' identified by '' with grant option;*/



   mysql的日期和时间类型:

   date 日期
   time 时间
   datetime 日期和时间
   timestamp 时间标签
   year(birthday) 取时间字段的年份值;



   关键字: mysql 还原或者导入数据库命令:

    mysql -u root --password=root

    备份数据库命令:

    mysqldump -u root --password=root --database  helloworld >helloworld_backup.sql

    其他用法:

    1.导出整个数据库
    mysqldump -u 用户名 -p 数据库名 > 导出的文件名
    mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
    2.导出一个表
    mysqldump -u 用户名 -p 数据库名表名> 导出的文件名
    mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
    3.导出一个数据库结构
       mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:\wcnc_db.sql

    -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table

    4.导入数据库
       常用source 命令
       进入mysql数据库控制台,
       如mysql -u root -p

      mysql>use 数据库

       然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
      mysql>source d:\wcnc_db.sql

你可能感兴趣的:(mysql的基本命令)