创建数据库
mysql>create database wordpress;
删除数据库
mysql>drop database wordpress;
查看数据库
mysql>show databases;
进入数据库
mysql>use databasename
创建表
mysql> CREATE TABLE IF NOT EXISTS `user`(
-> `uuid` VARCHAR(36) NOT NULL,
-> `name` VARCHAR(30) NOT NULL,
-> `date` DATE,
-> PRIMARY KEY (`id`)
-> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.04 sec)
实例解析:
- 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
- AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
- PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
- ENGINE 设置存储引擎,CHARSET 设置编码。
显示表
mysql> show tables;
+---------------------+
| Tables_in_wordpress |
+---------------------+
| user |
+---------------------+
1 row in set (0.01 sec)
查看表结构
mysql> desc user ;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | varchar(36) | NO | PRI | NULL | |
| name | varchar(30) | NO | | NULL | |
| date | date | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)
mysql>
删除表
mysql> drop table user;
Query OK, 0 rows affected (0.02 sec)
显示表
mysql> show tables;
+---------------------+
| Tables_in_wordpress |
+---------------------+
| apps |
| user |
+---------------------+
2 rows in set (0.00 sec)
插入数据
mysql> INSERT INTO user (uuid,name,date) VALUES (UUID(),'张三',NOW());
Query OK, 1 row affected, 1 warning (0.02 sec)
查看数据
mysql> SELECT * FROM user;
+--------------------------------------+--------+------------+
| uuid | name | date |
+--------------------------------------+--------+------------+
| 8e0ce8f4-e9e6-11e7-aa91-fa163e4d93c3 | 张三 | 2017-12-26 |
+--------------------------------------+--------+------------+
1 row in set (0.00 sec)
当数据量大时,不建议使用通配符 * 去查询数据
查看指定字段的数据
mysql> SELECT uuid,name FROM user;
+--------------------------------------+--------+
| uuid | name |
+--------------------------------------+--------+
| 8e0ce8f4-e9e6-11e7-aa91-fa163e4d93c3 | 张三 |
+--------------------------------------+--------+
1 row in set (0.00 sec)
WHERE 子句
当数据量比较大时候,我们需要查询某一条字段,需要根据条件去过滤,例如有表
mysql> select * from user;
+--------------------------------------+--------+------------+
| uuid | name | date |
+--------------------------------------+--------+------------+
| 8e0ce8f4-e9e6-11e7-aa91-fa163e4d93c3 | 张三 | 2017-12-26 |
| ec0bd4cf-e9e6-11e7-aa91-fa163e4d93c3 | 李四 | 2017-12-26 |
| eec4e0b2-e9e6-11e7-aa91-fa163e4d93c3 | 王五 | 2017-12-26 |
| f39e6daf-e9e6-11e7-aa91-fa163e4d93c3 | 牛二 | 2017-12-26 |
| f769b50a-e9e6-11e7-aa91-fa163e4d93c3 | 狗娃 | 2017-12-26 |
+--------------------------------------+--------+------------+
5 rows in set (0.00 sec)
我们希望查询李四的信息,则使用 where
mysql> select uuid,name,date from user where name='李四'
-> ;
+--------------------------------------+--------+------------+
| uuid | name | date |
+--------------------------------------+--------+------------+
| ec0bd4cf-e9e6-11e7-aa91-fa163e4d93c3 | 李四 | 2017-12-26 |
+--------------------------------------+--------+------------+
1 row in set (0.00 sec)
说明:
- 查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用 WHERE 语句来设定查询条件。
- 可以在 WHERE 子句中指定任何条件。
- 可以使用 AND 或者 OR 指定一个或多个条件。
- WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。
操作符 | 描述 | 实例 |
---|---|---|
= | 等号,检测两个值是否相等,如果相等返回true | (A = B) 返回false。 |
<>, != | 不等于,检测两个值是否相等,如果不相等返回true | (A != B) 返回 true。 |
> | 大于号,检测左边的值是否大于右边的值, 如果左边的值大于右边的值返回true | (A > B) 返回false。 |
< | 小于号,检测左边的值是否小于右边的值, 如果左边的值小于右边的值返回true | (A < B) 返回 true。 |
>= | 大于等于号,检测左边的值是否大于或等于右边的值, 如果左边的值大于或等于右边的值返回true | (A >= B) 返回false。 |
<= | 小于等于号,检测左边的值是否小于于或等于右边的值, 如果左边的值小于或等于右边的值返回true | (A <= B) 返回 true。 |
UPDATE 查询
mysql> UPDATE user SET name='李五' where uuid='ec0bd4cf-e9e6-11e7-aa91-fa163e4d93c3';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
DELETE 语句
mysql> delete from user where uuid='ec0bd4cf-e9e6-11e7-aa91-fa163e4d93c3';
Query OK, 1 row affected (0.01 sec)
LIKE 语句
mysql> SELECT * FROM user WHERE name like '牛%';
+--------------------------------------+--------+------------+
| uuid | name | date |
+--------------------------------------+--------+------------+
| 2f379b0d-e9e8-11e7-aa91-fa163e4d93c3 | 牛一 | 2017-12-26 |
| 31d28bb1-e9e8-11e7-aa91-fa163e4d93c3 | 牛二 | 2017-12-26 |
| 3a914c85-e9e8-11e7-aa91-fa163e4d93c3 | 牛三 | 2017-12-26 |
| f39e6daf-e9e6-11e7-aa91-fa163e4d93c3 | 牛二 | 2017-12-26 |
+--------------------------------------+--------+------------+
4 rows in set (0.00 sec)
- 可以在 WHERE 子句中指定任何条件。
- 可以在 WHERE 子句中使用LIKE子句。
- 可以使用LIKE子句代替等号 =。
- LIKE 通常与 % 一同使用,类似于一个元字符的搜索。
- 可以使用 AND 或者 OR 指定一个或多个条件。
- 可以在 DELETE 或 UPDATE 命令中使用 WHERE…LIKE 子句来指定条件。