一、基本使用
初始化root用户密码:
[root@localhost ~]# mysqladmin -uroot password "new_passwd"
本地mysql客户端免密码登陆,编辑如下文件
[root@localhost ~]# vim ~/.my.cnf
[mysql]
user = 'root'
password = 'your_passwd'
host = 'localhost'
完成后今后使用mysql工具将不再需要输入密码
连接后直接将某个库设置为默认数据库:
[root@localhost ~]# mysql -D MYDB
mysql> select database();
+------------+
| database() |
+------------+
| MYDB |
+------------+
1 row in set (0.08 sec)
查看存储引擎:
mysql> show engines;
查看数据库
mysql> show databases;
查看表
mysql>show tables;
查看用户
mysql> use mysql;
mysql> SELECT User;Host;Password FROM user;
查看innodb引擎有关所有变量:
mysql> show VARIABLES LIKE "%innodb%";
设置每个表独立使用一个表空间
[root@localhost ~]# echo "innodb_file_per_table = 1" >>/etc/my.cnf
重启生效:
[root@localhost ~]# service mysqld restart
创建数据库
方法1
[root@localhost ~]# mysqladmin -uroot -p create testdb
方法2
mysql> CREATE DATABASE MYDB;
在MYDB数据库中创建表name_tb
mysql> use MYDB;
mysql> create table name_tb( id INT NOT NULL, name CHAR(20));
导入sql:
方法1
[root@localhost ~]# mysql <test.sql
方法2
mysql> \. /root/test.sql
在mysql提示符下执行shell命令:
mysql> \! ls /root
修改命令结束符:
mysql> \d ,
上述命令将默认的“;”结束符修改为“,”, 再次使用;将无法结束语句,如下
mysql> select * from user;
-> ##无法结束命令
不管命令结束符是什么,都将命令送至服务器执行,结果以竖排方式显示:
mysql> select * from user\G
不管命令结束符是什么,都将命令送至服务器执行
mysql> select * from user\g
二、数据类型
查看表属性:
mysql> use mysql;
mysql> SHOW TABLE STATUS [like ...]\G
显示当前服务器所支持的所有字符集
mysql> SHOW CHARACTER SET;
显示字符集的默认排序规则
mysql> SHOW COLLATION;
字段自动增长:
使用修饰符AUTO_INCREMENT
该修饰符有几个条件:整型(INT)、无符号(UNSIGNED)、非空(NOT NULL)、主键或唯一键(PRIMARY KEY)
如:
mysql> CREATE TABLE NAME_TB1(NAME_ID INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, NAME CHAR(30));
查看当前全局sql模型:
方法1
mysql> SHOW GLOBAL VARIABLES LIKE 'sql_mode';
方法2
mysql> SELECT @@GLOBAL.sql_mode;
设定服务器变量:
mysql> SET [修饰符] 变量名='变量值';
如设定sql模型:
mysql> SET GLOBAL @@sql_mode='strict_all_tables'; ##设定全局sql_mode
mysql> SET @@sql_mode='strict_all_tables'; ##设定当前会话sql_mode
服务器变量设定后的生效规则
- 全局动态变量:设定后对新会话立即生效;对当前会话无效;
- 会话动态变量:设定后对当前会话立即生效,对其他会话无效;
- 全局静态变量:需重启服务或重新加载生效;