MySQL19-22

#########################
#第十九章 插入数据 
#########################

#####插入完整的行 
#null表示允许为空 notnull表示不能为空 
#列的数目要保持一致 
insert into customers
values(null,'Pep E. LaPew','100 Main Street','Los Angeles','CA','90046','USA',null,null);

#保险做法 
insert into customers(cust_id,cust_name,cust_address,cust_city,cust_state,cust_zip,cust_country,cust_contact,cuat_email)
values(null,'Pep E. LaPew','100 Main Street','Los Angeles','CA','90046','USA',null,null);

#有的时候有些列可以省略 
#1.此列定义允许为null
#2.在表定义中给出默认值 

######插入多个行 
#第一种方法 
insert into customers(cust_id,cust_name,cust_address,cust_city,cust_state,cust_zip,cust_country,cust_contact,cuat_email)
values(null,'Pep E. LaPew','100 Main Street','Los Angeles','CA','90046','USA',null,null),
	(null,'M.Martian','42 Galaxy Way','New York','NY','11213','USA',null,null);
#第二种方法 
insert into customers(cust_id,cust_name,cust_address,cust_city,cust_state,cust_zip,cust_country,cust_contact,cuat_email)
values(null,'Pep E. LaPew','100 Main Street','Los Angeles','CA','90046','USA',null,null);
insert into customers(cust_id,cust_name,cust_address,cust_city,cust_state,cust_zip,cust_country,cust_contact,cuat_email)
values(null,'M.Martian','42 Galaxy Way','New York','NY','11213','USA',null,null);


##插入检索出的数据 insert select
insert into customers(cust_id,cust_name,cust_address,cust_city,cust_state,cust_zip,cust_country,cust_contact,cuat_email)
select cust_id,cust_name,cust_address,cust_city,cust_state,cust_zip,cust_country,cust_contact,cuat_email
from custnew;
#把custnew中所有数据插入 customers
#这个例子中两个表名称一样,其实MySQL不关心名字对不对应,只要位置对应即可 



############################
#第20章 更新和删除数据 
############################

#更新数据 update...set...where....
#更新单个列 
update customers 
set cust_email='elmer@fudd.com'
where cust_id=10005;
#更新多个列(最后一个列不用逗号)
update customers 
set cust_name='The Fudds',
    cust_email='elmer@fudd.com'
where cust_id=10005;
#删除某个列的值 设置Null
update customers 
set cust_email=null
where cust_id=10005;

##删除数据 delete from ...where
delete from customers
where cust_id=10006;

###1.delete删除的是行,update删除的是列 
###2.delete删除的是表的内容 不是表本身 
###3.truncate table从表中删除所有的行 


###################################
#第21章 创建和操纵表 
###################################

##表创建基础 
CREATE TABLE customers
(
  cust_id      int       NOT NULL AUTO_INCREMENT,
  cust_name    char(50)  NOT NULL ,
  cust_address char(50)  NULL ,
  cust_city    char(50)  NULL ,
  cust_state   char(5)   NULL ,
  cust_zip     char(10)  NULL ,
  cust_country char(50)  NULL ,
  cust_contact char(50)  NULL ,
  cust_email   char(255) NULL ,
  PRIMARY KEY (cust_id)
) ENGINE=InnoDB;

#1.  名字在create table之后
#2.  主键由primary key指定 ,主键的值必须唯一 
#    但是可以有两个主键比如:primary key(order,item)表示这两个的组合值是唯一的 
#    主键必须NOT NULL
#3.  列名要指定数据类型,是否允许为空
#4.  auto_increment自动增量 必须和主键组合使用,默认情形起始值为1,每次增量为1 
#    select last_insert_id()返回最后一个auto_increment值
#5.  指定默认值 default,看下例 
CREATE TABLE orderitems
(
  order_num  int          NOT NULL ,
  order_item int          NOT NULL ,
  prod_id    char(10)     NOT NULL ,
  quantity   int          NOT NULL  default 1,
  item_price decimal(8,2) NOT NULL ,
  PRIMARY KEY (order_num, order_item)
) ENGINE=InnoDB;
#6.  引擎类型 innofb memory myisam
#    注意:不同引擎类型的表之间不能连接(外键不能连接)


##更新表 alter table
alter table vendors
add vend_phone char(20);#添加新的列 
alter table vendors
drop column vend_phine;#删除列(不仅仅是列的值 )

#alter table的一种常见用途是定义外键 ?????
alter table orderitems
add constraint fk_orderitems_orders
foreign key(order_num) references orders (order_num);

##删除表 删除整个表而不是内容 
drop table customers2;


##重命名表 
rename table customers2 to customers;
rename table backup_customers to customers,
             backup_vendors to vendors;
             

#########################
#第22章 使用视图 
#########################

#创建视图 
create view productcustomers as
select cust_name,cust_contact,prod_id
from customers,orders,orderitems
where customers.cust_id=orders.cust_id
and   orderitems.order_num=orders.order_num;#创建了一个视图 

select * from productcustomers;
select cust_name,cust_contact
from productcustomers
where prod_id='TNT2' #视图中的元素 ,简化使用 


##用视图重新格式化检索出的数据 
##用视图过滤不想要的数据 

##更新视图 (很多都不可以更新,,,) 






















### 回答1: mysql-connector-java-8.0.19.jar是MySQL官方提供的用于Java语言连接和操作MySQL数据库的驱动程序。它是Java应用程序与MySQL数据库进行通信的桥梁。 这个驱动程序提供了许多功能和方法,使得我们可以在Java应用程序中方便地连接和操作MySQL数据库。它支持与MySQL服务器的连接、数据库的创建与删除、表的创建与删除、数据的插入与查询等常见数据库操作。 使用mysql-connector-java-8.0.19.jar,你可以在Java应用程序中实现与MySQL数据库的连接。你需要通过提供数据库的地址、用户名、密码等连接信息来建立连接。一旦连接成功,你就可以执行SQL语句(如SELECT、INSERT、UPDATE等)来对数据库进行操作。 此外,mysql-connector-java-8.0.19.jar还提供了一些高级功能,如批量插入数据、事务处理、连接池管理等。它的性能也经过了优化,可以高效地处理大量的数据库操作请求。 当你在开发Java应用程序时需要连接和操作MySQL数据库时,可以将mysql-connector-java-8.0.19.jar添加到你的项目中,并在代码中引入相应的类和方法。这样你就可以方便地使用Java语言与MySQL数据库进行交互了。 总之,mysql-connector-java-8.0.19.jar是一个非常重要的Java驱动程序,它为我们提供了连接和操作MySQL数据库的功能,使得我们可以在Java应用程序中轻松地进行数据库操作。 ### 回答2: mysql-connector-java-8.0.19.jar是MySQL数据库的Java驱动程序。它是用Java编写的,用于与MySQL数据库进行交互。这个jar文件允许Java程序通过使用MySQL提供的各种功能来连接、查询和管理数据库。 mysql-connector-java-8.0.19.jar提供了一些重要的特性和功能。首先,它支持与MySQL数据库的连接和断开连接。它提供了连接池,可以管理和重用数据库连接,以提高性能并减少连接时间。它还支持通过SSL进行安全连接,以确保数据传输的安全性。 其次,这个jar文件允许Java程序执行SQL查询和更新数据库。它提供了一组API,用于执行SQL语句,如SELECT、INSERT、UPDATE和DELETE。通过这些API,Java程序可以方便地对数据库进行操作,获取和修改数据。 此外,mysql-connector-java-8.0.19.jar还支持事务处理,确保数据库操作的一致性和完整性。它提供了事务管理API,用于开始、提交和回滚事务。这对于处理复杂的数据库操作和确保数据的一致性非常重要。 最后,mysql-connector-java-8.0.19.jar还提供了对数据库元数据的访问。它允许Java程序获取有关数据库、表和列的信息,如表结构、索引、主键和外键等。这对于动态生成SQL查询和执行数据库架构的操作非常有用。 总而言之,mysql-connector-java-8.0.19.jar是一个重要的Java库,用于连接和操作MySQL数据库。它提供了一系列功能和API,方便了Java程序对MySQL数据库的访问和管理。无论是开发Web应用程序还是企业级应用程序,这个jar文件都是不可或缺的。 ### 回答3: mysql-connector-java-8.0.19.jar是MySQL数据库的Java官方驱动程序。它是 MySQL Connector/J 的一个版本,用于在Java应用程序中连接和操作MySQL数据库。 MySQL是一个开源的关系型数据库管理系统。为了在Java应用程序中使用MySQL数据库,需要使用适当的驱动程序来建立连接。mysql-connector-java-8.0.19.jar是一个jar文件,它包含了所有必要的类和方法,用于与MySQL数据库进行通信。 使用mysql-connector-java-8.0.19.jar,开发人员可以通过在Java程序中加载该jar文件来建立与MySQL数据库的连接。连接成功后,可以执行各种操作,如插入、更新、删除和查询数据库中的数据。 该驱动程序还提供了一些附加功能,例如连接池和事务支持。连接池可以提高应用程序的性能,通过缓存数据库连接,使其在需要时可重复使用。事务支持允许开发人员在操作数据库时确保数据的一致性和完整性。 为了使用mysql-connector-java-8.0.19.jar,需要将其添加到Java项目的类路径中。然后,可以在Java代码中导入所需的类,并使用它们来连接和操作MySQL数据库。 总之,mysql-connector-java-8.0.19.jar是一个用于在Java应用程序中连接和操作MySQL数据库的官方驱动程序。它提供了许多有用的功能和方法,使得与MySQL数据库的通信变得简单和方便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值