MYSQL 一点一点来

Posted by Vincent on April 30, 2009

记录自己需要的 O(∩_∩)O

http://dev.mysql.com/doc/refman/5.1/zh/index.html

命令行启动: mysqld
命令行关闭: mysqladmin -u root shutdown

mysql> show databases;

mysql> show create database msdb1;

create database bbc
character set gbk;

create user bbc identified by 'bbc';

grant all on bbc.* to bbc@'localhost';

grant all on bbc.* to bbc@'%';

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
->     ON expenses.*
->     TO 'custom'@'%'
->     IDENTIFIED BY 'obscure';

更改密码: http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#user-names
账户赋予密码的另一种方法是执行SET PASSWORD语句:
mysql> SET PASSWORD FOR 'jeffrey'@'%' = PASSWORD('biscuit');

只有root等可以更新mysql数据库的用户可以更改其它用户的密码。如果你没有以匿名用户连接,省略FOR子句便可以更改自己的密码:
mysql> SET PASSWORD = PASSWORD('biscuit');

你还可以在全局级别使用GRANT USAGE语句(在*.*)来指定某个账户的密码而不影响账户当前的权限:
mysql> GRANT USAGE ON *.* TO 'jeffrey'@'%' IDENTIFIED BY 'biscuit';

登陆
shell> mysql -h host -u user -p

在mysql中,我们常用的数字类型有int , bigint ,对于自动增长的数字类型的主键(auto_increment), 都要求是是无符号型的,
示例:id unsigned bigint auto_increment not null ,并根据此表未来的数据量评估,如果未来会上亿,则需要用bigint类型,以避免溢出;
字符类型varchar,需要指明长度
时间类型为datetime
示例:
mysql> create table t4(id bigint unsigned auto_increment not null,
nick varchar(32) not null,
gmt_create datetime not null,
primary key(id));

列值区分大小写 varchar(20) binary

主键 自增 `ID` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,

事务控制 set autocommit=0;

--导入导出
mysql> select * from tt into outfile "
Query OK, 6 rows affected (0.00 sec)

mysql> load data infile 'd:/worktmp/123.log' int
Query OK, 6 rows affected (0.00 sec)
Records: 6 Deleted: 0 Skipped: 0 Warnings: 0

-----------
查看mysql的sql在各个阶段的时间消耗
set profiling = 1;

show profiles for query 1;

----

update同时更新多个表

可以在my.cnf里面中的client段里添加optionprompt      = \\u@\\h:\\d \\r:\\m:\\s >

附:下面是my.cnf里的client段

[client]
port        = 3306
socket      = /tmp/mysql.sock
prompt      = \u@\h:\d \r:\m:\s >
column-type-info = true
select_limit = 30
default-character-set = utf8
user = root
show-warnings = true

This work is licensed under a CC A-S 4.0 International License.