mysql用户权限极其一些基本操作,一些日期函数

来源:互联网 发布:穷人的生活 知乎 编辑:程序博客网 时间:2024/06/07 22:07
先进入到指定目录,然后执行以下命令,即可修改密码!!

查看MYSQL数据库中所有用户

查看数据库中具体某个用户的权限



以下的文章主要向大家描述的是MySQL基本操作,MySQL在实际操作中是经常被用到的,所以对MySQL的基本内容的了解也是一件很重要的事项,以下的文章就是对MySQL基本操作的详细描述。

登录数据库 mysql -u root -p
输入密码:admin
查看数据库show databases
使用数据库use databassname
创建表

 create table test(-> tid int(10) not null,-> tname varchar(100) not null,-> tdate datetime not null default '0000-00-00',-> primary key (tid));
    查看表结构desc test

添加列alter table test add(tage int(3));

修改列的默认值alter table test alter tage set default '0';

去掉列的默认值alter table test alter tage drop default;

删除列alter table test drop column tage;

插入数据insert into test(tid,tname,tdate) value(1,'yangjuqi','2008-03-21');

查询数据select * from test;

模糊查询select * from test where tname like '%杨%';

修改数据update test set tname='张三' where tid='2';

删除数据delete from test where tid='2';

删除表drop table test;

重命名表alter table test rename testbak;

分页查询(limit 起始行,取多少行)select * from testbak limit 2,1;

显示数据库版本select version();

显示当前时间select current_date;

修改用户密码MySQLadmin -uroot -proot password yangjuqi

将查询出的数据写入文件select * from test into outfile "d:/test.txt" fields terminated by ",";

查看数据库状态status;

MySQL基本操作查看所有编码show variables like 'character_set_%';

导入sql文件命令source d:/MySQL.sql;

     查看数据库版本:mysql>select version();
                     mysql>select @@version;
     查看当前登录用户mysql>select user()
创建用户 oldboy ,使之可以管理数据库 oldboy 。
方法一:
mysql> grant all on oldboy.* to oldboy@'localhost' identified by '123456';
方法二:
mysql> create user oldoy@'localhost' identified by 'oldboy123';
mysql> grant all on oldboy.* to oldboy@'localhost';
查看创建的用户 oldboy 拥有哪些权限。
mysql> show grants for oldboy@localhost; 
收回赋予的各种权限revoke all on oldboy.test from oldboy@localhost;
删除用户oldgirl
drop user username@localhost
drop user username@'%'

创建一 innodb 引擎字符集为 GBK 表 test ,字段为 id 和 namevarchar(16) ,查看建表结构及 SQL 语句。
create table `test` ( 
`id` int(4) not null, `
name` varchar(20) not null)
ENGINE=InnoDB 
DEFAULT CHARSET=gbk;
</pre><span style="font-family:'Microsoft YaHei',Verdana,Helvetica,Arial,sans-serif; font-size:14px; line-height:25px; text-indent:28px; background-color:rgb(234,239,240)"> 删除表中的所有数据,并查看。</span><span style="background-color:rgb(234,239,240)">mysql> TRUNCATE oldboy.test</span><pre>
在把 id 列设置为主键
mysql>alter table test change id id int primary key auto_increment; 
创建索引:
alter table test add index 索引名(索引字段);或者create index 索引名 on 表名(字段);
eg:在手机字段上对前 8 个字符创建普通索引
create index shouji on test(shouji(8));或者alter table test add index shouji(shouji(8));
创建联合索引
联合索引:Name 列的前 6 个字符以及手机列的前 8 个字符组建联合索引alter table test add index index_name_shouji(name(6),shouji(8));或者create index index_name_shouji on test(name(6),shouji(8));
删除索引:
eg:删除以上建立的索引
alter table test drop index shouji;
通过以下一些命令可以查看相关索引信息
通过命令desc 表名可以大概得知存在哪些索引:
通过show index from 表名;可以得知创建的具体索引名,以及有没有进行截取字段索引
通过show index from 表名\G;可以得知跟上述一样的情况,更直观!
有一道不错的题目跟大家分享以下!
大家如果有其它解法也可以评论下,分享下!
create table t(A date,B  varchar2(2));insert into t values(str_to_date('05/05/2005','%m/%d/%Y'),'W');//str_to_date()是mysql特有的,不同数据库转换日期函数是不同的!insert into t values(str_to_date('05/05/2005','%m/%d/%Y'),'W');insert into t values(str_to_date('05/05/2005','%m/%d/%Y'),'f');insert into t values(str_to_date('05/05/2005','%m/%d/%Y'),'f');insert into t values(str_to_date('05/10/2005','%m/%d/%Y'),'W');insert into t values(str_to_date('05/10/2005','%m/%d/%Y'),'f');insert into t values(str_to_date('05/10/2005','%m/%d/%Y'),'f');
查询结果如下:
</pre><img src="http://img.blog.csdn.net/20150920221439301" alt="" />如何实现编程如下结果:<pre>
</pre><img src="http://img.blog.csdn.net/20150920221509127" alt="" /><pre>
方法:
select a,sum(case when b='W' then 1 else 0 end) NumofW,sum(case when b='f' then 1 else 0 end) Numofffrom tgroup by aorder by a
欢迎提出其它更好的方法!

顺便普及一下:
</pre><pre>
格式描述%a缩写星期名%b缩写月名%c月,数值%D带有英文前缀的月中的天%d月的天,数值(00-31)%e月的天,数值(0-31)%f微秒%H小时 (00-23)%h小时 (01-12)%I小时 (01-12)%i分钟,数值(00-59)%j年的天 (001-366)%k小时 (0-23)%l小时 (1-12)%M月名%m月,数值(00-12)%pAM 或 PM%r时间,12-小时(hh:mm:ss AM 或 PM)%S秒(00-59)%s秒(00-59)%T时间, 24-小时 (hh:mm:ss)%U周 (00-53) 星期日是一周的第一天%u周 (00-53) 星期一是一周的第一天%V周 (01-53) 星期日是一周的第一天,与 %X 使用%v周 (01-53) 星期一是一周的第一天,与 %x 使用%W星期名%w周的天 (0=星期日, 6=星期六)%X年,其中的星期日是周的第一天,4 位,与 %V 使用%x年,其中的星期一是周的第一天,4 位,与 %v 使用%Y年,4 位%y年,2 位

日期类型:

DateTime    YYYY-MM-DD HH:MM:SS 从1000-01-01 00:00:00 到9999-12-31 23:59:49

date            YYYY-MM-DD  从1000-12-31 至 9999-12-31

timestamp   YYYYMMDDHHMMSS

time            HH:MM:SS

year            YYYY


下面的脚本使用 DATE_FORMAT() 函数来显示不同的格式。我们使用 NOW() 来获得当前的日期/时间:

DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')DATE_FORMAT(NOW(),'%m-%d-%Y')DATE_FORMAT(NOW(),'%d %b %y')DATE_FORMAT(NOW(),'%d %b %Y %T:%f')

结果类似:

Dec 29 2008 11:45 PM12-29-200829 Dec 0829 Dec 2008 16:25:46.635str_to_date()的格式同 DATE_FORMAT一样。如:select str_to_date('09/01/2009','%m/%d/%Y')select str_to_date('20140422154706','%Y%m%d%H%i%s')select str_to_date('2014-04-22 15:47:06','%Y-%m-%d %H:%i:%s')

mysql 字符集设置查看

1列出MYSQL支持的所有字符集:

2.当前MYSQL服务器字符集设置

3.当前MYSQL服务器字符集校验设置

4.显示某数据库字符集设置

5.显示某数据表字符集设置

6.修改数据库字符集

alter database 数据库名default character set 'utf8';

7.修改数据表字符集

alter table 表名default character set 'utf8';

8.建库时指定字符集

create database 数据库名character set gbk collate gbk_chinese_ci;

9.建表时指定字符集

CREATE TABLE `mysqlcode` (

`id` TINYINT( 255 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,`content` VARCHAR( 255 ) NOT NULL) engine = MYISAM CHARACTER SET gbk COLLATE gbk_chinese_ci;
如果不加以上代码,那么即便MYSQL编译安装时指定的编码是UTF8,那么在建库时其默认编码仍是LATIN1,而由于字符集的继承性,库中的表也是LATIN1的了。





1 0
原创粉丝点击