mysql 学习记录

命令语句:

mysql -u root -p

输入密码

1、显示所有的数据库

show DATABASES

实现结果:

2、创建数据库

CREATE DATABASE IF NOT EXISTS demo DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

结果:

4、删除数据库

drop database demo;

5、切换到某个数据库

use yiibaidb

6、创建表

create table if not exists user(user_id INT NOT NULL AUTO_INCREMENT, user_name varchar(20) not null,PRIMARY KEY (user_id )) ENGINE=InnoDB DEFAULT CHARSET=utf8;

代码结果展示:

7、删除表

drop table user

8、插入数据

9、查看表的所有数据

select * from user

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

  • 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
  • SELECT 命令可以读取一条或者多条记录。
  • 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
  • 你可以使用 WHERE 语句来包含任何条件。
  • 你可以使用 LIMIT 属性来设定返回的记录数。
  • 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。

(1)  select use_name from user;


(2) select user_name from user  limit 3 offset 1

 

 

(10)更新表的数据

 

UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
  • 你可以同时更新一个或多个字段。
  • 你可以在 WHERE 子句中指定任何条件。
  • 你可以在一个单独表中同时更新数据。
 

update user set user_name='玛丽' where user_id=3

 

 

11、删除表的数据

 

DELETE FROM table_name [WHERE Clause]
  • 如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。
  • 你可以在 WHERE 子句中指定任何条件
  • 您可以在单个表中一次性删除记录。

当你想删除数据表中指定的记录时 WHERE 子句是非常有用的。

12、 mysql  like

WHERE 子句中可以使用等号 = 来设定获取数据的条件,如 "runoob_author = 'RUNOOB.COM'"。

但是有时候我们需要获取 runoob_author 字段含有 "COM" 字符的所有记录,这时我们就需要在 WHERE 子句中使用 SQL LIKE 子句。

SQL LIKE 子句中使用百分号 %字符来表示任意字符,类似于UNIX或正则表达式中的星号 *。

如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。

语法

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

  • 你可以在 WHERE 子句中指定任何条件。
  • 你可以在 WHERE 子句中使用LIKE子句。
  • 你可以使用LIKE子句代替等号 =。
  • LIKE 通常与 % 一同使用,类似于一个元字符的搜索。
  • 你可以使用 AND 或者 OR 指定一个或多个条件。
  • 你可以在 DELETE 或 UPDATE 命令中使用 WHERE...LIKE 子句来指定条件

(1)select * from user where user_name like '丽丽%'

 

 

 

 

(2)select * from user where user_name like '丽丽%' or user_name='康康';

 

13、sql union

(union)

select country from  websites union select country from  apps order by country;

(2)union all

select country from  websites union all  select  country from  apps order by country;

(14) 排序

以下是 SQL SELECT 语句使用 ORDER BY 子句将查询数据排序后再返回数据:

SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]
  • 你可以使用任何字段来作为排序的条件,从而返回排序后的查询结果。
  • 你可以设定多个字段来排序。
  • 你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。
  • 你可以添加 WHERE...LIKE 子句来设置条件。

(15)两个表的链接使用

inner join   取并集

 

SELECT a.id, a.url, b.app_name FROM websites a INNER JOIN apps b ON a.url = b.url;

 

SELECT a.id, a.url, b.app_name  FROM websites a, apps b WHERE a.url = b.url;

left join  

(2)

SELECT a.id, a.url, b.app_name FROM websites a left join apps b ON a.url = b.url;

(3) right join

16、mysql null

mysql> SELECT * FROM runoob_test_tbl WHERE runoob_count IS NULL;

mysql> SELECT * from runoob_test_tbl WHERE runoob_count IS NOT NULL;

17、mysql正则表达式

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

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$'

18、

原文地址:https://www.cnblogs.com/heyinwangchuan/p/9160586.html