黄色的mysql_小黄的MySQL学习之路-01

MySQL实用教程

@

1 查看所有的数据库

show databases;

我电脑里面的结果

244bc0f8e9e8926ebba4bbc7f2b45d56.png

2 选择一个数据库

use 数据库名

例如

use mysql;

3994b5cf3809469b8421f33a628c3e53.png

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

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

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

show tables;

结果

1a5b7a5445e8d21c7ad9938d319a5b7c.png

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

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

我们已经选择了mysql数据库

show COLUMNS from 表名

例如

show COLUMNS from help_topic;

结果如下

44539fac652d1e7cdfd45985a9cd0a38.png

show COLUMNS from 表名 == DESCRIBE help_topic

结果还是相同

44539fac652d1e7cdfd45985a9cd0a38.png

想要知道更多的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 NOTNULL,

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 NOTNULL,

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

举个例子

原来的值.

627c5889cdd4478f7fa9ec4f6bc762cd.png

INSERT INTO orders (order_item,prod_id,quantity,item_price)

VALUES(2,17851234,75,10.5)

后来的值

23af010b39ca3cd885aaf796227c9cbd.png

注意:

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)

结果如下:

485e768ff7008ba966e1625495923642.png

⑥ 使用默认值

create table customers(

cust_id int ,

cust_name char(50) DEFAULT "张三"

)

然后再插入一个值

INSERT INTO customers(cust_id)

VALUES (1);

结果

58e25f1e8b4874bfe6a5bbfddaf1c41c.png

⑦ 更新表

ALTER TABLE customers

ADD cust_sex char(5);

就是为表 customers加一个列

0e1d1f51b023a520bec59b2624038bbe.png

⑧ 删除和重命名表

删除

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 更新和删除数据

① 更新表中特定的行

举两个例子

098c5202b7779fb30f1f079768520152.png

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

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

我们需要

UPDATE customer

SET cust_email ='the_god@qq.com'

WHERE cust_name ='Faker';

ec145165c78468a3b1fe924984701927.png

更新多个行

UPDATE customer

SET cust_email ='the_god@163.com',

cust_contact='唯一真神'

WHERE cust_name ='Faker';

a503ed1a2639172519f560fb96cc5c6b.png

② 更新表中所有的行

就是不使用WHERE

这里就不做演示了

③ 删除数据

举个例子

DELETE FROM customer

WHERE cust_name ='Faker';

在表里的结果

1fbd40f35f05954e75ed28db6c0c8f07.png

④ PS要注意的地方

一定要加WHERE 语句

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

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

如果是清空数据.

MySQL有一个命令.

TRUNCATE TABLE customer;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值