mysql 学习

  1. 云栖社区>
  2. 博客>
  3. 正文

mysql 学习

胖佳儿clara 2018-09-18 21:46:00 浏览581
展开阅读全文

参考: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 操作符

img_15321860a27ccf5a85f702f7572f6d63.png

示例:

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 服务器配置变量

网友评论

登录后评论
0/500
评论
胖佳儿clara
+ 关注