小黄的MySQL学习之路-01

MySQL实用教程

@

1 查看所有的数据库

show databases;

我电脑里面的结果

在这里插入图片描述

2 选择一个数据库

use 数据库名

例如

use mysql;

在这里插入图片描述

3 展示所有的表(在一个数据库中)

在上一步中,我们已经选择了数据库 mysql

这一步是在第二部的基础上进行的

show tables;

结果

在这里插入图片描述

4 显示一个具体的表的内容

这题还是在第二题的基础上

我们已经选择了mysql数据库

show COLUMNS from 表名

例如

show COLUMNS from help_topic;

结果如下

在这里插入图片描述

show COLUMNS from 表名 == DESCRIBE help_topic

结果还是相同

在这里插入图片描述

想要知道更多的show命令

请使用

help show

5 如何创建一个表

① 一个最基本的例子

先选择数据库 class

use class;

然后再创建一个表

create table customers(
	cust_id int ,
	cust_name char(50)
)

create table 表名 ()

( )里面就是一个列名+ 它的类型

前面的所有列都要加 " ,"

只有最后一个列可以不用加

② NULL值

如果一个列使用了NULL值 ,那么这个列在插入和更新的时候,就可以不给出值

如果使用了NOT NULL 那么在插入和更新的时候,就必须要给出值.

举个例子

create table orders(
	order_num int NOT NULL ,
	order_data datetime NOT NULL,
	cust_id int NOT NULL
)
create table vendors(
	vend_id int NOT	NULL,
	vend_name char(50) NOT NULL,
	vend_address char(50) NULL,
	vend_city char(50) NULL,
	vend_state char(5) NULL,
	vend_zip char(10) NULL,
	vend_country char(50) NULL
)

如果不指明的话,默认为NULL

④ 主键

主键的定义:一列(一组列),其值能够唯一区分表中的每个行.

create table vendors(
	vend_id int NOT	NULL,
	vend_name char(50) NOT NULL,
	vend_address char(50) NULL,
	vend_city char(50) NULL,
	vend_state char(5) NULL,
	vend_zip char(10) NULL,
	vend_country char(50) NULL,
	PRIMARY KEY (vend_id)
)

设置vend_id为主键.

主键还可以使用多个列,联合起来当主键.

例如

create table orders(
	order_num int NOT NULL ,
	order_item int NOT NULL,
	prod_id char(10) NOT NULL,
	quantity int NOT NULL,
	item_price decimal(8,2) NOT NULL,
	PRIMARY KEY (order_num,order_item)
)

这种情况下,order_num和item都不能为空.

⑤ AUTO_INCREMENT

AUTO_INCREMENT 就是自动增加的

比如原来的有一个 id 为5 你插入一个,那个值就成了6

举个例子

原来的值.

在这里插入图片描述

INSERT INTO orders (order_item,prod_id,quantity,item_price)
VALUES(2,17851234,75,10.5)

后来的值

在这里插入图片描述

注意:

INSERT INTO orders (order_num,order_item,prod_id,quantity,item_price)
VALUES(10,2,17851234,75,10.5)

在插入的时候,在插入到一个10

然后

我们在不带上,默认的order_num应该是 最近的一个后面的值.

再设置一下

INSERT INTO orders (order_item,prod_id,quantity,item_price)
VALUES(2,17851234,75,10.5)

结果如下:

在这里插入图片描述

⑥ 使用默认值

create table customers(
	cust_id int ,
	cust_name char(50) DEFAULT "张三"
)

然后再插入一个值

INSERT INTO customers(cust_id)
VALUES (1);

结果

在这里插入图片描述

⑦ 更新表

ALTER TABLE customers
ADD cust_sex char(5);

就是为表 customers加一个列

在这里插入图片描述

⑧ 删除和重命名表

删除

DROP TABLE 表名

DROP TABLE customers

重命名

RENAME TABLE 原表名 TO 新表名

RENAME TABLE orders TO NewName;

6 插入数据

① 数据插入

我们要用一张表

CREATE TABLE customer(
	cust_id INT PRIMARY KEY,
	cust_name CHAR(50),
	cust_address CHAR(50),
	cust_city CHAR(50),
	cust_state CHAR(50),
	cust_zip CHAR(50),
	cust_country CHAR(50),
	cust_contact CHAR(50),
	cust_email CHAR(50)
)

然后我们插入一些数据

② 插入完整的行

例子如下:

INSERT INTO customer
VALUES 
(17851075,'李相赫','召唤师峡谷','韩国','首尔','99999','韩国','不死的魔王','666@gmail.com');

③ 插入行的一部分

INSERT INTO customer(cust_id,cust_name,cust_address,cust_city,
										cust_state ,cust_zip ,cust_country ,cust_contact) 
VALUES 
(17851234,'Faker','召唤师峡谷','韩国','首尔','99999','韩国','不死的魔王');

④ 插入多个行

INSERT INTO customer(cust_id,cust_name,cust_address,cust_city,
										cust_state ,cust_zip ,cust_country ,cust_contact) 
VALUES 
(17850001,'Faker','召唤师峡谷','韩国','首尔','99999','韩国','不死的魔王'),
(17850002,'李相赫','召唤师峡谷','韩国','首尔','99999','韩国','不死的魔王');

⑤ 插入检索出的数据

顾名思意,就是把我们找出来的东西,插入进去.

我们先建立一个和原来的custmer一摸一样的表(表名不一样)

CREATE TABLE custnew(
	cust_id INT PRIMARY KEY,
	cust_name CHAR(50),
	cust_address CHAR(50),
	cust_city CHAR(50),
	cust_state CHAR(50),
	cust_zip CHAR(50),
	cust_country CHAR(50),
	cust_contact CHAR(50),
	cust_email CHAR(50)
)

然后再custNew里面插入点数据.

然后清空custmer里面的数据

然后

INSERT INTO customer(cust_id,cust_name,cust_address,cust_city,
										cust_state ,cust_zip ,cust_country ,cust_contact) 
SELECT cust_id,cust_name,cust_address,cust_city,
										cust_state ,cust_zip ,cust_country ,cust_contact
FROM custnew;

就OK拉

7 更新和删除数据

① 更新表中特定的行

举两个例子

在这里插入图片描述

现在customer表中的数据是这样的.

然后我们想为Faker添加一个电子邮件

我们需要

UPDATE customer 
SET cust_email ='the_god@qq.com'
WHERE cust_name ='Faker';

在这里插入图片描述

更新多个行

UPDATE customer 
SET cust_email ='the_god@163.com',
		cust_contact='唯一真神'
WHERE cust_name ='Faker';

在这里插入图片描述

② 更新表中所有的行

就是不使用WHERE

这里就不做演示了

③ 删除数据

举个例子

DELETE FROM customer 
WHERE cust_name ='Faker';

在表里的结果

在这里插入图片描述

④ PS要注意的地方

一定要加WHERE 语句

不然就是全局的更新和删除

而且MySQL里面是没有撤销按钮的.

如果是清空数据.

MySQL有一个命令.

TRUNCATE TABLE customer;
posted @ 2020-07-21 22:34  黄鹏宇  阅读(184)  评论(0)    收藏  举报