天天看点

mysql 学习

参考: http://www.runoob.com/mysql/mysql-tutorial.html

安装

laragon

更换mysql root 密码

MySQL 创建数据表

CREATE TABLE table_name (column_name column_type);
           

MySQL 删除数据表

DROP TABLE table_name ;
           

MySQL 插入数据:

INSERT INTO 表 ( 字段名1, 字段名2,...字段名N )
                       VALUES
                       ( 值1, 值2,...值N );
           

读取数据表:

select * from runoob_tbl;
           

MySQL 查询数据:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]
           

MySQL WHERE 子句

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
           

MySQL UPDATE 查询

UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
           

MySQL DELETE 语句

DELETE FROM table_name [WHERE Clause]
           

MySQL LIKE...%模糊匹配

SELECT field1,field2,... fieldN ,field2 ,... fieldN
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 ='somevalue'[ AND [ OR ]] filed2 = 'somevalue' 
           

其中LIKE子句使用百分号 %字符来表示任意字符,类似于UNIX或正则表达式中的星号 *。查询含condition1的所有记录。例如: "runoob_author = 'RUNOOB.COM'"中的COM

mysql> SELECT * from runoob_tbl  WHERE runoob_author LIKE '%COM';
           

MySQL UNION 操作符-连接两个以上的 SELECT 语句

SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];
           

MySQL 排序-ORDER BY子句

SELECT * from runoob_tbl ORDER BY submission_date ASC;
           

MySQL GROUP BY 语句

将数据表按名字进行分组,并统计每个人有多少条记录

mysql> SELECT name, COUNT(*) FROM   employee_tbl GROUP BY name;
           

Mysql 连接的使用-JOIN 在两个或多个表中查询数据

SELECT...FROM 表1 INNER JOIN 表2 ON 条件;
           

MySQL NULL 值处理

因为NULL 值与任何其它值的比较(即使是 NULL)永远返回 false,即 NULL = NULL 返回false 。

为了处理这种情况,MySQL提供了三大运算符:

  • IS NULL: 当列的值是 NULL,此运算符返回 true。
  • IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。
  • <=>: 比较操作符(不同于=运算符),当比较的的两个值为 NULL 时返回 true。

    示例:

SELECT * from runoob_test_tbl WHERE runoob_count IS NOT NULL;
           

MySQL 正则表达式-REGEXP 操作符

mysql 学习
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
           

MySQL 事务

在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。

事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。

事务用来管理 insert,update,delete 语句

MYSQL 事务处理主要有两种方法:

1、用 BEGIN, ROLLBACK, COMMIT来实现

  • BEGIN 开始一个事务
  • ROLLBACK 事务回滚
  • COMMIT 事务确认

2、直接用 SET 来改变 MySQL 的自动提交模式:

  • SET AUTOCOMMIT=0 禁止自动提交
  • SET AUTOCOMMIT=1 开启自动提交

MySQL ALTER命令-修改数据表名或者修改数据表字段

使用了 ALTER 命令及 DROP 子句来删除以上创建表的 i 字段:

mysql> ALTER TABLE testalter_tbl  DROP i;
           

ADD 子句来向数据表中添加列,如下实例在表 testalter_tbl 中添加 i 字段,并定义数据类型

mysql> ALTER TABLE testalter_tbl ADD i INT; 
           

把字段 c 的类型从 CHAR(1) 改为 CHAR(10):modify

mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
           

修改表名: rename

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
           

MySQL 元数据

获取服务器元数据

SELECT VERSION( ) 服务器版本信息

SELECT DATABASE( ) 当前数据库名 (或者返回空)

SELECT USER( ) 当前用户名

SHOW STATUS 服务器状态

SHOW VARIABLES 服务器配置变量

上一篇: web8
下一篇: 各种绕过