分享

SQL 查询的语句

 昵称14389669 2013-10-27

mysql常用命令

1.创建数据库:
mysql>create database if not exists test default charset utf8 collate utf8_general_ci;
注意后面这句话 “collate utf8_general_ci“,大致意思是在排序时根据utf8编码格式来排序
那么在这个数据库下创建的所有数据表的默认字符集都会是utf8

2.
创建表
use test;
create table stu(id int(10) auto_increment not null primary key,name varchar(20) not null);

3.show create table stu;
可以查看表stu的创建命令

4.drop database if exists test;
drop table if exists stu;
insert into stu(id,name) values (1,"xzp");
select * from stu;

5.
创建数据库用户,用户的权限控制

grant all privileges on *.*  to xzp@'%'  identified by "123456"

7.
表结构的修改
(1).
增加一个字段
alter table table_name add column(
字段名 字段类型);
(2).
指定字段插入的位置
alter table table_name add column
字段名 字段类型 after 某字段;
(3).
删除某字段
alter table table_name drop
字段名;
(4).
修改字段名称,类型
alter table table_name change
旧字段名 新字段名 新字段类型;
(5).
修改表的名字
alter table table_name rename to new_table_name;
(6).
一次性清空表中的数据
truncate table table_name;
此方法也会使表中的取号器[id]1开始

8.
增加主键,外键,约束,索引
(1).
约束(主键primary key,唯一性unique,非空not null
(2).
自动增长(auto_increment
(3).
外键foreign keyreference table_name(col_name 列名)配合使用,建表时单独使用

9.
查看数据库当前引擎
show create table stu;
修改数据库引擎
alter table table_name ENGINE=MyISAM|InnoDB;
  
windowsMySql以服务形式存在,在使用前应确保此服务已经启动,未启动可用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 -u root -p;
mysql -u root -p newpassword;
mysql mydb -u root -p;
mysql mydb -u root -p newpassword;
上面命令参数是常用参数的一部分,详细情况可参考文档。此处的mydb是要登录的数据库的名称。
在 进行开发和实际应用中,用户不应该只用root用户进行连接数据库,虽然使用root用户进行测试时很方便,但会给系统带来重大安全隐患,也不利于管理技 术的提高。我们给一个应用中使用的用户赋予最恰当的数据库权限。如一个只进行数据插入的用户不应赋予其删除数据的权限。MySql的用户管理是通过 User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用户。其中GRANT的常用用法如下:

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

参考资料:http://www.doc88.com/p-72521183443.html

http://www.cnblogs.com/bluecobra/archive/2012/01/11/2318917.html

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多