MySQL的常用语句合集(一)

版权声明:博文为原创,引用请注明出处 https://blog.csdn.net/ANYELEISHOU/article/details/83064615

MySQL的常用语句合集(一)

1.首先登入MySQL

mysql
作用:登录mysql
格式:mysql 选项
选项:
-u userName
-p passWd
-P port
-h hostName
-S file

**工作模式**
交互模式:mysql -uroot -p123 xxx
批处理模式
在bash中可以执行sql语句		
     mysql -uroot -p123 -h -P -S -e 'sql'

补充:在shell中可以执行sql语句,也可以执行sql脚本
				mysql -uroot -p123 -h -P -S <脚本

交互模式中的快捷键
ctrl+l:清屏
clear(\c):终止输入
ego(\G):用\G替代掉命令尾部的;,实现纵向输出
status(\s):监控服务器的状态信息
exit(\q):退出
connect:超时断开后,进行重新连接
go(\g):直接执行命令(相当于替代了;)
system(\!):执行shell命令
ctrl+l:清空屏幕
ctrl+a:跳转到行首
ctrl+e:跳转到行为
ctrl+u:剪切
ctrl+y:粘贴

2.MySQL的用户的基础管理和配置

1.删除用户
DROP USER 用户名;
例子:DROP USER 'tom'@'localhost';
2. 修改用户密码
方法1:mysqladmin <<< 建议的方法
方法2:grant <<< 不建议
方法3:SET PASSWORD FOR ‘user’@‘host’ = PASSWORD(‘string’) <<< 建议的方法
方法4:直接用update来修改表中的记录,但是必须刷新授权表 <<< 不建议**
3. 创建用户

例子:CREATE USER 'user'@'host' [IDENTIFIED BY '123']

补充通配符的含义

%:除了当前主机以外的任意其他主机
	localhost:仅仅是当前主机
	_:一位长度的任意字符

4.获取mysql的使用帮助
HELP CONTENTS; 显示帮助信息的类别

HELP TYPE;

5.字段的修饰
字段类型(数据类型)

1).字符型

不区分大小写的字符型
定长:  char(#)         name char(30)
不定长:varchar(#)      name varchar(30)
				【不定长可以节省内存空间,但是会带来额外的系统开销】

2)区分大小写的字符型

binary(#)
varbinary(#)

2.整型

int #           默认占4字节存储空间
tinyint #       默认占1字节存储空间
smallint #      默认占2字节存储空间
mediuint #      默认占3字节存储空间
bitint #        默认占8字节存储空间

近似数(小数)
单精度浮点数:float
双精度浮点数:dobule

	布尔
		0
		1

	大段文本
		不区分大小写:text
		区分大小写:blob

日期时间类型

日期:date
时间:time
时间戳:timestamp
日期时间:datetime

NULL
就表示这个字段的内容为空间

mysql的内置类型
		ENUM:枚举类型,从指定的范围中,挑选出来一个
		SET:集合类型,从指定的范围中,挑选出来一个或多个组合成一个新的元素

字段的修饰
NOT NULL:该字段不能为空
NULL:字段可以为空
UNSIGNED:该字段是一个无符号数(正数)
AUTO_INCREMENT:对于正数类型字段可用该修饰,可以实现该字段的自动增张
PRIMARY KEY:定义主键
UNIQ KEY:定义唯一键
DEFAULT:指定默认值

案例:表,字段
	id 整型 主键 不能为负数 不能为空 自动增长
	name 字符类型 最大长度为20字符 不能为空
	age 整型 不能为负数 不能为空
	gender 枚举类型,只能在M F选择, 如果用户没有输入,那么默认是M

答案:mysql> CREATE TABLE 
    -> user1(id INT UNSIGNED PRIMARY KEY NOT NULL AUTO_INCREMENT,
    -> name CHAR(20) NOT NULL,
    -> age INT UNSIGNED NOT NULL,
    -> gender ENUM('M','F') DEFAULT 'M');

6.查看SHOW
1).查看当前所支持的各种存储引擎
> SHOW ENGINES;
[MyISAM在读多写少的情况下,性能比较好]
2).查看库中的所有表或者一个或者多个表的信息
> SHOW TABLE STATUS [LIKE "XXX"]

	           Name: tb1            <<< 
	         Engine: InnoDB         <<<
	        Version: 10
	     Row_format: Dynamic
	           Rows: 3             
	 Avg_row_length: 5461
	    Data_length: 16384
	Max_data_length: 0
	   Index_length: 0
	      Data_free: 0
	 Auto_increment: NULL
	    Create_time: 2018-10-16 00:05:58
	    Update_time: 2018-10-16 00:37:42
	     Check_time: NULL
	      Collation: utf8_general_ci
	       Checksum: NULL
	 Create_options: 
	        Comment: 

3).查看当前mysql所支持的字符集类型
> SHOW CHARACTER SET;

4.)查看各种变量

> SHOW GLOBAL VARIABLES;
> SHOW SESSION VARIABLES;

5.)查看各种状态信息
> SHOW GLOBAL STATUS
> SHOW SESSION STATUS

例子:查看当前mysql一共执行过多少次select
mysql> SHOW GLOBAL STATUS LIKE 'Com_select';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Com_select    | 53    |
+---------------+-------+

例子:查看mysql的数据目录位置
mysql> SHOW GLOBAL VARIABLES LIKE 'datadir';
+---------------+-----------------------------+
| Variable_name | Value                       |
+---------------+-----------------------------+
| datadir       | /data/mysql/mysql3306/data/ |
+---------------+-----------------------------+

6.查看环境变量的方式
1) SHOW [SESSION|GLOBAL] VARIABLES [LIKE XXX] [WHERE 条件]
SHOW GLOBAL VARIABLES WHERE Variable_name=‘datadir’;
SHOW GLOBAL VARIABLES LIKE ‘datadir’;

2) SELECT @@[SESSION|GLOBA].变量名
	SELECT @@GLOBAL.datadir;

3) 直接从information_schema的GLOBAL_VARIABLES 和 SESSION_VARIABLES 直接查询  

3.修改环境变量格式

SET [SESSION|GLOBAL] VARIABLES_NAME='VALUE'

注意;
	修改全局变量,当前会话是无效的,只有再重新断开一个会话,这个修改才会生效
	修改会话变量,当前会话立刻生效,但是对于其他和新打开的会话无效

4.sql_mode

作用:定义mysql的工作属性和工作模型(插入的数据大于指定的数据范围的情况下, 如何操作)
模式:
	空模式:sql_mode中没有设置值
	经典模式:TRADITIONAL
		在表中插入非法数据的时候的,不会报错终止,而仅仅是发送一个警告
	严格模式:
		在表中插入非法数据的时候的,立刻终止执行的sql语句
		STRICT_ALL_TABLES:对所有的表都使用的严格模式
		STRICT_TRANS_TABLES:仅仅对支持事务的表使用严格模式

查看当前的模式:

mysql> SHOW GLOBAL VARIABLES LIKE 'sql_mode';
		+---------------+-------+
		| Variable_name | Value |
		+---------------+-------+
		| sql_mode      |       |
		+---------------+-------+

修改sql_mod模式(其实就是修改会话和全局环境变量sql_mode)

SET SESSION sql_mode="xxx"       >>>>临时修改
SET GLOBAL sql_mode="xxx"        >>>>全局修改

5.创建数据库

CREATE DATABASE 库名 
CREATE TABLE 表名(字段1 属性,字段2 属性....)


案例:
	# 创建数据库
	CREATE DATABASE db1;
	# 切换数据库
	USE db1;
	# 创建表
	CREATE TABLE tb1(id int, name varchar(30), age int(3));
	# 查询表结构
	DESC tb1;
	# 在表中插入数据
	INSERT INTO tb1(name, id, age) VALUES('bajie',12,200);
	# 查询表中的数据
	SELECT * FROM tb1;

猜你喜欢

转载自blog.csdn.net/ANYELEISHOU/article/details/83064615