您的位置:首页 > 数据库 > MySQL

mysql学习笔记

2016-10-30 22:14 274 查看
/*
转载请注明出处,ID:珍惜少年时
*/
开启mysql服务:net start mysql
关闭mysql服务:net stop mysql
姑且如此,如有漏缺望告知弥补。后续也会增减等操作。mysql开启外链:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root密码' WITH GRANT OPTION;
mysql -h127.0.0.1 -P 3306 -uroot -p123456
mysql>create datatabase test; #创建一个test数据库
mysql>use test; #使用test这个数据库
mysql>drop database test; #删除数据库
mysql>show databases; #显示所有的数据库
修改数据库的字符集
mysql>use mydb
mysql>alter database mydb character set utf-8;
创建数据库指定数据库的字符集
mysql>create database mydb character set utf-8;
00x1[表创建实例]-------------------------------------------------
mysql>create table admin( #创建一个admin表
mysql>id int, #创建字段id,数据类型为int型
mysql>name varchar(255), #创建字段name,数据类型是varchar
mysql>password varchar(255) #创建字段password,数据类型为varchar
mysql>); #更多数据类型可参考:http://www.cnblogs.com/xishaonian/p/6009605.html
-----------------------------------------------------------------------
mysql>desc test; #查询表结构
mysql>drop table test; #删除test表
常用
[表明重明名,rename]
mysql>rename table auto to price;
[指定删除数据,delect]----------------------------------------------------
mysql>delect from book where id="1";
[选定字段查询数据]--------------------------------------------------------
mysql>select auto,prince from book;
[修改字段查询数据,alert]---------------------------------------------------
mysql>alert table admin change ust user varchar(255);
alter table 表名 change 现有字段名称 修改后字段名称 数据类型
[查询结果排序,desc]----------------------------------------------------
mysql>select id,name,price from book order by id desc; #倒序排列,升序是asc
[限定查询,limit]-----------------------------------------------------
mysql>select id,name,price from limit 0,5;
[别名,as]-----------------------------------------------------
select bookname as '图书室' , suto as '作者' from book;
[联合查询,union]------------------------------------------------------
mysql>select bookname from book union select bookprice from book;

[去重复、distinct]------------------------------------------------------

msyql>select distinct test from hello; #去除hello表下的test列重复的。

[between,音译为:之间]------------------------------------------------------
mysql>select * from admin where between a and b;         #即a到b之间的数据,记得a和b须是数字。
插入[insert]
mysql> select * from admin;
+------+-----------+------------+
| id   | username  | password   |
+------+-----------+------------+
|    1 | admin     | admin      |
|    3 | admin888  | 123456     |
|    2 | admin123  | admdin123  |
|    4 | admin123  | admdin123  |
|    5 | admin1231 | a1dmdin123 |
+------+-----------+------------+
5 rows in set (0.00 sec)

mysql> insert into admin(id,username,password) values(6,"guanli","qpiha");
Query OK, 1 row affected (0.06 sec)
更新、update[update table set 列名=新值 where 条件]
mysql> select * from admin;
+------+-----------+------------+
| id   | username  | password   |
+------+-----------+------------+
|    1 | admin     | admin      |
|    2 | admin888  | 123456     |
|    2 | admin123  | admdin123  |
|    4 | admin123  | admdin123  |
|    5 | admin1231 | a1dmdin123 |
+------+-----------+------------+
5 rows in set (0.00 sec)

mysql> update admin set id=3 where username='admin888' and password='123456';
Query OK, 1 row affected (0.08 sec)
模糊查询、link
mysql>select bookname,auto,username from book where bookname like "%php%";

MYSQL注入当中常用函数
@@version()
@@datadir()
load_file()
current_user() #当前用户
if(test,t,f) #如果test为真就返回t否则返回f。
mid(str,start,length) 函数用于得到一个字符串的一部分
mysql> select username from admin;
+----------+
| username |
+----------+
| admin |
| liuneng |
+----------+
2 rows in set (0.00 sec)mysql> select mid(username,2,4) from admin;
+-------------------+
| mid(username,2,4) |
+-------------------+
| dmin |
| iune |
+-------------------+
ord()返回第一个字符的ascii值
ascii() 返回字符的ASCII码值
limit(a,b) 限制
order by 查询方式
substr(string,start,length)
left(string,length)
rand():取0到1之间的任意数
mysql> select rand();
+--------------------+
| rand()             |
+--------------------+
| 0.9518547215981918 |
+--------------------+
1 row in set (0.00 sec)
floor():取整函数
count():计算有多少个列,select count(*) from admin; 返回的会是一个数字。那个数字就是admin表下有几个列。
mysql> select count(*) from admin;
+----------+
| count(*) |
+----------+
|       10 |
+----------+
1 row in set (0.00 sec)
group by clause 分组函数
ifnull(a,b)如果a为null就执行b。否则执行a
待更新....
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: