mysql笔记-- mysql命令札记1
2014-03-17 00:04
274 查看
1.3.1. 连接与断开服务器
kevin$mysql -hhostname(主机名) -uuser(用户名) -p(密码) databasename(数据库名称);1.3.2. 输入查询
mysql>SELECT xxx 要查询的信息,可包含其他选项;mysql> [b]
SELECT SIN(PI()/4), (4+1)*5; select 可以当作计算器来进行计算;[/b]
输入\c以后,它切换回到mysql>,提供反馈以表明mysql准备接受一个新命令。
下表显示出可以看见的各个提示符并简述它们所表示的mysql的状态:
提示符 | 含义 |
mysql> | 准备好接受新命令。 |
-> | 等待多行命令的下一行。 |
'> | 等待下一行,等待以单引号(“'”)开始的字符串的结束。 |
"> | 等待下一行,等待以双引号(“"”)开始的字符串的结束。 |
`> | 等待下一行,等待以反斜点(‘`’)开始的识别符的结束。 |
/*> | 等待下一行,等待以/*开始的注释的结束。 |
1.3.3. 创建并使用数据库
mysql>createdatabase database_name ;(数据库的名称)
mysql>use database_name(选择使用的(数据库的名称))
创建数据表
mysql>create table table_name(数据表的名称) (数据表各项的名称和各项数据类型);
eg:mysql> create table test (name varchar(20), sex varchar(5), arg int(10));
Query OK, 0 rows affected (0.02 sec)
查看数据表的描述信息;
mysql>desc test
-> ;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| sex | varchar(5) | YES | | NULL | |
| arg | int(10) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
1.3.4. 将数据装入表中
mysql> load data local infile '/home/kevin/kevin/kevin.txt' into table xu;ERROR 1148 (42000): The used command is not allowed with this MySQL version
这个时候你会发现这个错误,解决方法和原因如下:
【MySQL实践经验】LOAD DATA INFILE报错ERROR 1148 (42000)或ERROR 1045 (28000)的解决办法 在部署在不同机器上的mysql数据库之间导数据时,load data infile是一个很高效的命令,从host1的db1.table1通过select ... into outfile将数据导入文本文件,然后通过load data infile将数据导入host2的db2.table1。 使用过程中碰到一些典型问题及并最终找到解决方法。作为笔记,记录与此。 1. root用户(这里只mysql的root,非Linux系统的root)在mysql server部署机器通过load data infile命令导入数据时,只要文件路径指定正确,一般不会有问题 2. 非root用户在mysql server部署机器通过load data infile命令导入数据时,报错: ERROR 1045 (28000): Access denied for user 'xxx'@'xxx' (using password: YES) 可能原因:这个一般是因为非root用户没有FILE Privilege,可以通过show grants查看当前登陆用户的权限,也可以通过select mysql.user查看某用户的权限,一般情况下,normal user是无FILE权限的 解决办法: 1)命令加local参数,用load data local infile 'filename' into table xxx.xxx来导数据(推荐使用) 2)给normal user开通FILE Privilege,注意:FILE权限与SELECE/DELETE/UPDATE等不同,后者是可以具体指定到某个db的某个表的,而FILE则是全局的,即只能通过grant FILE on *.* to 'xxx'@'xxx'才能使FILE权限对所有db的所有tables生效。通过grant all on db.* to 'xxx'@'xxx'不能使指定的user在指定的db上具有FILE权限 根据最小权限原则(操作系统安全的概念),这个方法并不安全 3)修改.my.cnf中的配置,具体方法见官网 http://www.markhneedham.com/blog/2011/01/18/ href="http://www.2cto.com/database/MySQL/" target=_blank>mysql-the-used-command-is-not-allowed-with-this-mysql-version/ 3. 非root用户从client机器load data local infile至remote mysql server时,报错: ERROR 1148 (42000): The used command is not allowed with this MySQL version 可能原因(from mysql reference manual): If LOAD DATA LOCALis disabled, either in the server or the client, a client that attempts to issue such a statement receives the fol-lowing error message: ERROR 1148: The used command is not allowed with this MySQL version 可见,出于安全考虑,默认是不允许从client host远程通过load data命令导数据的 解决办法: For the mysql command-line client, enable LOAD DATA LOCAL by specifying the --local-infile[=1]option, or disable it with the --local-infile=0 option 也即,在需要从client host导数据的情况下,登陆mysql时,需用--local-infile[=1]显式指定参数,典型命令形式为: mysql --local-infile -u user -ppasswd 登陆成功后,执行load data infile 'filename' into table xxx.xxx即可 |
mysql> load data local infile '/home/kevin/kevin/kevin.txt' into table test ;
Query OK, 1 row affected (0.00 sec)
Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
mysql> select * from test;
+-------+------+------+
| name | sex | arg |
+-------+------+------+
| kevin | M | 18 |
| kevin | M | 18 |
+-------+------+------+
2 rows in set (0.00 sec)
kevin.txt file context
kevin M 18
NOTE:每行包含一个记录,用定位符(tab)把值分开,并且以CREATE TABLE语句中列出的列次序给出。对于丢失的值(例如未知的性别,
),你可以使用NULL值。为了在你的文本文件中表示这些内容,使用\N(反斜线,字母N)。
相关文章推荐
- mysql笔记-- mysql命令札记8 --MySql 数据表类型
- mysql笔记-- mysql命令札记10 --MySql 运算符
- mysql笔记-- mysql命令札记11 --MySql 连接
- mysql笔记-- mysql命令札记2
- mysql笔记-- mysql命令札记3
- mysql笔记-- mysql命令札记4
- mysql笔记-- mysql命令札记5
- mysql笔记-- mysql命令札记6
- mysql笔记-- mysql命令札记7 数据类型
- mysql常用命令 - 笔记
- mysql 学习笔记1-基本命令
- mysql笔记02:source命令导入大数据速度慢优化
- mysql常见的操作命令(拿来主义,算是自己学习的笔记吧)
- mysql (on suse linux) 系统命令笔记
- PHP学习笔记(3)--Mysql部分简单命令
- Mysql源代码阅读笔记(六)命令汇总
- Linux下学习mysql命令的笔记
- 学习笔记 (Linux和mysql的一些命令和总结) [第十课]
- 【mysql基本命令】学习笔记
- MySql 笔记二 基础命令