继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

mysql学习-基础知识整理

慕粉2139185169
关注TA
已关注
手记 30
粉丝 27
获赞 128

【登录MySQL客户端】
1、mysql -h host -u root -p[pwd] / mysql -uroot -p[pwd] 登录成功后显示连接ID、版本信息
mysql - h host -u user -p database_name 输入密码直接连接database_name数据库
2、TCP/IP
mysql --host=remote.example.com --port=13306
mysql --port=13306 --protocol=TCP --protocol={TCP|SOCKET|PIPE|MEMORY}
--shared-memory-base-name=name
--socket=file_name, -S /tmp/mysql.sock[本地localhost连接时会用到Unix only]
--ssl 加密连接
3、可以使用环境变量设置连接参数:
MYSQL_HOST,MYSQL_PWD
4、--execute=(-e ) 执行MySQL语句,语句中有空格时要使用引号
5、--column-names,--column-names=1,--enable-column-names显示列名
--skip-column-names,--column-names=0,--disable-column-names不显示列名
mysql --loose-no-such-option 忽略不识别的命令选项
--maximum
--maximum-max_heap_table_size=32M仅限于mysqld使用,设置session范围设置
【查询】
1、select version(),current_date; 显示查询列、结果、结果行数和(不准确的查询)时间
2、select sin(pi()/4),(4+1)/5 \g 使用查询做简单计算
3、SELECT VERSION(); SELECT NOW(); 一行运行多个查询(;分隔)
4、SELECT
-> USER()
-> ,
-> CURRENT_DATE; 一个语句多行输入
5、SELECT
-> USER()
-> \c 取消执行查询
6、->
'> 字符串输输入符未关闭('')
"> 字符串输输入符未关闭("")
`> 反引号(区别MySQL的保留字段)未关闭(``)
/> 注释符未关闭(/ /).
【数据库】
1、show databases;[根据权限不同看到的数据库列表会不同]
mysql -- 是管理权限的数据库
test -- 用于测试数据库
GRANT ALL ON menagerie.
TO 'your_mysql_name'@'your_client_host';为该mysql用户增加在指定的客户端IP使用menagerie数据库;
2、cerate database_name;创建数据库
3、select database(); 查看当前正在使用的数据库
【表】
1、show tables;
2、cerate table table_name (...);
3、desc[ribe] table_name;查看表结构
4、show create table pet;详细查看建表语句
5、LOAD DATA LOCAL INFILE 'D:/pet.txt' INTO TABLE pet 使用txt文件载入数据(文件中只包含数据,使用tab分隔,数据对应表列)
-> LINES TERMINATED BY '\r\n'; 这是windows的结束符
6、insert into table_name values(...);插入数据;
7、delete from table_name 删除整表;
8、UPDATE pet SET birth = '1989-08-31' WHERE name = 'Bowser';
9、DISTINCT:唯一性约束 ,IS NOT NULL 非空判断SELECT 1 IS NULL, 1 IS NOT NULL与null值做比较(<,>)还是null;,ORDER BY排序 DESC倒序
10、表示一个字符,%表示任意字符,like,SELECT * FROM pet WHERE name LIKE '____';5个字符;
11、REGEXP:给定表达式匹配字段值 的任何地方 就可以 如REGEXP 'w' ,'dfewgfg','Claws'都匹配
SELECT FROM pet WHERE name REGEXP '^b';匹配以b开头的(不区分大小写,如果要区分加上REGEXP BINARY);
'd$'以d结尾;.代表一个字符;
代表任意字符;{n}匹配出现的次数
12、关联查询join(left join,right join,inner join);UNION:连接两个查询语句
13、批模式,执行脚本 mysql -e 'source file';mysql>. file;
14、MySQL用户定义变量select @idename:="Fluffy";select * from pet where name=@idename;
15、SELECT year,month,BIT_COUNT(BIT_OR(1<<day)) AS days FROM t1 GROUP BY year,month;(1<<day,1左移day位,BIT_OR位or运算BIT_COUNT计算二进制中1的个数);

打开App,阅读手记
3人推荐
发表评论
随时随地看视频慕课网APP

热门评论

记录下,我这边遇到的MySQL启动问题;MySQL密码验证使用sha256-password;

在MySQL客户端连接是报错,报错提示需要使用SSL而服务端不支持SSL

如何解决:

思考:A、确认sha256需要使用ssl? --> B、为啥不支持,是否是MySQL没有启用ssl的配置? --> C、在哪配置(my.cnf么还是启动时候传参)

我百度了下,找了个帖子解决,如下:

(http://www.linuxidc.com/Linux/2017-04/143147.htm)

A问题不是很确定,处于安全考虑应该是必要的

B问题:查看下my.cnf文件ssl配置  发现disabled_ssl,那么肯定没有启动ssl或者ssl不可用

想要看自己的MySQL是基于哪种ssl:show status like 'rsa_public_key';rsa加密方式openssl。

确定MySQL可以启用ssl,那么如何启用C问题:linux中mysql用户下执行mysql_ssl_rsa_setup

生成加密文件,将加密文件配置到my.cnf中重启MySQL即可


查看全部评论