mysql入门笔记-1

时间:2020-04-11
本文章向大家介绍mysql入门笔记-1,主要包括mysql入门笔记-1使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

MySQL笔记

MySQL管理

操作数据库

mysql> use RUNOOB;

选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库。

展示全部数据库

SHOW DATABASES;

列出 MySQL 数据库管理系统的数据库列表。

展示数据表

SHOW TABLES;

显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库。

显示数据表属性

SHOW COLUMNS FROM 数据表;

显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。

显示数据表的详细索引信息

SHOW INDEX FROM 数据表;

显示数据表的详细索引信息,包括PRIMARY KEY(主键)。

MySQL连接

MySQL连接

mysql -u root -p

MySQL退出

exit;

MySQL创建数据库

CREATE DATABASE 数据库名;

MySQL删除数据库

drop命令删除数据库

drop database <数据库名>;

MySQL 选择数据库

use <数据库名>;

MySQL 创建数据表

创建MySQL数据表的SQL通用语法

CREATE TABLE table_name ();

案例

create table student(
id int comment '编号',
name varchar(32) comment '姓名',
age int comment '年龄',
class varchar(20) comment '班级');

删除数据表

删除MySQL数据表的通用语法

DROP TABLE table_name ;

MySQL 插入数据

向MySQL数据表插入数据通用的 INSERT INTO SQL语法

INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );

案例

INSERT INTO runoob_tbl 
	##下面这行可以省略,写几个就添加几个数据
    -> (runoob_title, runoob_author, submission_date)
    -> VALUES
    -> ("学习 PHP", "菜鸟教程", NOW());
##插入多行
INSERT INTO runoob_tbl 
    -> VALUES
    -> ("学习 PHP", "菜鸟教程", NOW()),
    -> ("学习 PHP", "菜鸟教程", NOW()),
    -> ("学习 PHP", "菜鸟教程", NOW());

读取数据表

select * from <数据表名>;

MySQL 查询数据

查询数据通用的 SELECT 语法

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

注意

  • 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。

  • SELECT 命令可以读取一条或者多条记录。

  • 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据

  • 你可以使用 WHERE 语句来包含任何条件。

  • 你可以使用 LIMIT 属性来设定返回的记录数。

  • 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。

    案例

select * from <数据表名>;
##可以吧*换成查询的字段,也可以多个
##例如
select id,name form <数据表名>;

查询字段

desc <数据表名>;

MySQL WHERE 子句

注意

  • 查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件。
  • 你可以在 WHERE 子句中指定任何条件。
  • 你可以使用 AND 或者 OR 指定一个或多个条件。
  • WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。
  • WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。
操作符 描述 实例
= 等号,检测两个值是否相等,如果相等返回true (A = B) 返回false。
<>, != 不等于,检测两个值是否相等,如果不相等返回true (A != B) 返回 true。
> 大于号,检测左边的值是否大于右边的值, 如果左边的值大于右边的值返回true (A > B) 返回false。
< 小于号,检测左边的值是否小于右边的值, 如果左边的值小于右边的值返回true (A < B) 返回 true。
>= 大于等于号,检测左边的值是否大于或等于右边的值, 如果左边的值大于或等于右边的值返回true (A >= B) 返回false。
<= 小于等于号,检测左边的值是否小于或等于右边的值, 如果左边的值小于或等于右边的值返回true (A <= B) 返回 true。

案例

SELECT * from runoob_tbl WHERE runoob_author='菜鸟教程';

MySQL UPDATE 更新

UPDATE 命令修改 MySQL 数据表数据的通用 SQL 语法

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

案例

mysql> UPDATE runoob_tbl SET runoob_title='学习 C++' WHERE runoob_id=3;
Query OK, 1 rows affected (0.01 sec)
 
mysql> SELECT * from runoob_tbl WHERE runoob_id=3;
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+---------------+-----------------+
| 3         | 学习 C++   | RUNOOB.COM    | 2016-05-06      |
+-----------+--------------+---------------+-----------------+
1 rows in set (0.01 sec)

MySQL DELETE 语句

SQL DELETE 语句从 MySQL 数据表中删除数据的通用语法

DELETE FROM table_name [WHERE Clause]

案例

mysql> use RUNOOB;
Database changed
mysql> DELETE FROM runoob_tbl WHERE runoob_id=3;
Query OK, 1 row affected (0.23 sec)

MySQL LIKE 子句

SELECT 语句使用 LIKE 子句从数据表中读取数据的通用语法

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

案例

mysql> use RUNOOB;
Database changed
mysql> SELECT * from runoob_tbl  WHERE runoob_author LIKE '%COM';
+-----------+---------------+---------------+-----------------+
| runoob_id | runoob_title  | runoob_author | submission_date |
+-----------+---------------+---------------+-----------------+
| 3         | 学习 Java   | RUNOOB.COM    | 2015-05-01      |
| 4         | 学习 Python | RUNOOB.COM    | 2016-03-06      |
+-----------+---------------+---------------+-----------------+
2 rows in set (0.01 sec)

MySQL ALTER命令

删除

ALTER TABLE testalter_tbl  DROP i;

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

添加

ALTER TABLE testalter_tbl ADD i INT;

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

如果你需要指定新增字段的位置,可以使用MySQL提供的关键字 FIRST (设定位第一列), AFTER 字段名(设定位于某个字段之后)。

尝试以下 ALTER TABLE 语句, 在执行成功后,使用 SHOW COLUMNS 查看表结构的变化:

案例

ALTER TABLE testalter_tbl DROP i;
ALTER TABLE testalter_tbl ADD i INT FIRST;
ALTER TABLE testalter_tbl DROP i;
ALTER TABLE testalter_tbl ADD i INT AFTER c;

修改字段类型及名称

ALTER TABLE testalter_tbl MODIFY c CHAR(10);

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

ALTER TABLE testalter_tbl CHANGE i j BIGINT;

使用 CHANGE 子句, 语法有很大的不同。 在 CHANGE 关键字之后,紧跟着的是你要修改的字段名,然后指定新字段名及类型

原文地址:https://www.cnblogs.com/qisexin/p/12681104.html