一、基本操作
1、语句中的关键词的大小写是不区分的,mysql通过寻找终止分号来决定语句在哪结束。一行输入多条语句,分号分割即可。
2、如果你决定不想执行正在输入过程中的一个命令,输入\c取消它
mysql> select user() \c
mysql>
|
对于输出内容可能会超过80列显示器可用宽度的语句,应使用“--vertical”选项(或“\G”语句终结符)
3、查看当前存在的数据库
4、创建新的数据库
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
|
5、选定并使用该数据库
or(-s -N表示无框线,无抬头)
# mysql -h host -u user -p -s -N --default-character-set=gbk exp
|
6、删除数据库
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
|
7、查看表
8、创建表
mysql> CREATE TABLE an_hosts
-> (
-> `host_id` int(11) unsigned NOT NULL auto_increment,
-> `ip` varchar(50) NOT NULL default '',
-> `hostalias` varchar(50) NOT NULL default '',
-> PRIMARY KEY (host_id)
-> );
Query OK, 0 rows affected (0.02 sec)
|
9、删除表
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTRICT | CASCADE]
|
使用TEMPORARY是确保您不会意外取消一个非TEMPORARY表的良好方法。
10、获取列信息
{DESCRIBE | DESC} tbl_name [col_name | wild]
|
11、查看用户权限
mysql> show grants for 'root'@'localhost';
+---------------------------------------------------------------------+
| Grants for root@localhost |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
|
12、添加新用户帐户
多种方法可以选择,举例:
mysql> grant all privileges on *.* to 'test1'@'localhost' identified by 'somepass' with grant option;
mysql> grant all privileges on *.* to 'test2'@'%' identified by 'somepass' with grant option;
mysql> grant reload,process on *.* to 'test3'@'localhost';
mysql> grant usage on *.* to 'test4'@'localhost';
mysql> use mysql;
mysql> INSERT INTO user (Host,User,Password) VALUES('localhost','test5','');
mysql> FLUSH PRIVILEGES;
|
你用
INSERT创建账户时使用
FLUSH PRIVILEGES的原因是告诉服务器重读授权表。
再举个例子,对
database cc赋指定的一些权限:
-
mysql> create database cc;
-
Query OK, 1 row affected (0.05 sec)
-
-
mysql> GRANT INSERT, SELECT, UPDATE, DELETE, CREATE, DROP, ALTER ON cc.* TO 'cc'@'localhost' IDENTIFIED BY 'xxxx';
-
Query OK, 0 rows affected (0.01 sec)
-
-
mysql> FLUSH PRIVILEGES;
-
Query OK, 0 rows affected (0.00 sec)
13、删除用户帐户
mysql> delete from user where User like 'test%';
Query OK, 5 rows affected (0.00 sec)
|
14、修改表结构——增加一列
mysql> alter table filter add vlan_name varchar(100) after owner;
Query OK, 0 rows affected (0.03 sec)
Records: 0 Duplicates: 0 Warnings: 0
|
15、时间运算
mysql> select curdate() date;
+------------+
| date |
+------------+
| 2010-11-13 |
+------------+
1 row in set (0.00 sec)
mysql> select date_add(curdate(), interval 60 day) date;
+------------+
| date |
+------------+
| 2011-01-12 |
+------------+
1 row in set (0.00 sec)
|
16、update示例
-
$each = implode(",", $_POST["each"]);
-
$sql_select = "update filter set expire_time=expire_time+60,expire_real_time=date_add(expire_real_time, interval 60 day) where id in ($each);";
-
$query = mysql_query($sql_select) or die("Invalid query: " . mysql_error());
17、复制
复制表结构及数据到新表:
-
CREATE TABLE 新表 SELECT * FROM 旧表
只复制表结构到新表
复制旧表的数据到新表(假设两个表结构一样)
-
INSERT INTO 新表 SELECT * FROM 旧表
复制旧表的数据到新表(假设两个表结构不一样)
-
INSERT INTO 新表(字段1,字段2,.......)
-
SELECT 字段1,字段2,...... FROM 旧表
18、释放表空间
optimize table xxx;
阅读(1494) | 评论(0) | 转发(0) |