精华内容
下载资源
问答
  • 需要执行SQL语句数据库中对数据进行添加、修改和删除操作均属于数据库操纵语言(DML),这类类型SQL语句只有执行数据控制语言(DCL)中commit才能使之起作用,DCL语言中rollback用于撤销DML语言操作:添加...

    需要执行的SQL语句:

    76a533183485306637ef51a34928e29d.png

    数据库中对数据进行的添加、修改和删除操作均属于数据库操纵语言(DML),这类类型的SQL语句只有执行数据控制语言(DCL)中的commit才能使之起作用,DCL语言中的rollback用于撤销DML语言操作:

    添加数据:

    数据添加的方式有两种:

    第一种:

    语法:

    insert into table_name [(column_name1,column_name2,...,column_namen)]values (value1,value2,...valuen)

    e.g

    0ff8a1424c1ccbfb09d9e7cc55dc85f8.png

    注意:

    1、字段列表的顺序可以不按照表中字段的顺序列出来,但对应值列表必须和字段名列表对应;

    e.g

    192ed70243e27446103c3b19814cb1e8.png

    2、对应值列表中的值如果是字符类型或日期类型,则需使用单引号引起来;

    3、如果没有字段列表,则值列表中值的顺序必须按照实际表中字段的默认顺序进行排列;

    e.g

    fb1067e93a77cc9669a953be591e93bf.png

    第二种:

    语法:

    insert into to_table_name [(column_name1,column_name2,...,column_namen)]

    select column_name1,column_name2,...,column_namen from from_table_name

    e.g

    fe194eb4bc79dda0799126462396933c.png

    注意:

    1、insert子句中字段名列表的数目和数据类型必须和select子句中选择的字段列表的数目和数据类型相匹配。数据类型不考虑长度,但是须比查出来的对应列的长度长或相等。

    2、select查询字段名可以和insert插入表对应字段名不一致。

    修改数据:

    语法:

    update table_name

    set column1=value1, column2=value2……

    [where ……]

    e.g

    9173d0da3a159b07e23b3beb7166282f.png

    删除数据:

    语法:

    delete [from] table_name

    [where……]

    e.g

    46074152cb5a7a6c1a7235950ef241c4.png

    注意:from关键字在Oracle数据库中可以没有,但是在MySQL数据库中必须要有

    事务操作:

    当执行一组DML操作时,为了确保数据的一致性,避免数据库产生错误数据,就需要通过事务(Transaction)使该组DML操作同时成功或失败,例如:

    30f46b4fea3e024d11b88cacab8f1b51.png

    当执行第一个DML SQL语句时,事务开始,当出现以下情况时事务结束:

    1、执行了commit或rollback语句;

    2、执行了DDL语句(如建表语句)或DCL语句(如给用户授权),如下:

    7847568d494c7fa35c0e898a502a0e91.png

    3、数据库客户端程序退出或数据库崩溃时,为了保持数据一致性,也会结束事务。

    事务控制语句:

    1、commit:提交事务,使之前做的改变永久作用于数据库;

    2、rollback:回滚当前事务,丢弃所有未决的数据改变;

    3、savepoint name:在当前事务中标记保存点(非ANSL SQL标准);

    4、rollback to name:回滚当前事务到指定的保存点,从而丢弃保存点后对数据库的任何改变;

    e.g

    1ac9f46c0c3c5d8899c19fa65d8dc801.png

    注意:

    1、执行DML语句且没有结束事务时,如果需要查询数据库的真实改变情况,则要求在一个新的SQL Window窗口中执行查询语句:因为事务中所做的每一个操作在事务被提交之前都是临时的,在commit或rollback语句执行之前,DML语句首先影响该用户的数据库缓冲区,因为这些操作可以被恢复,而且因为是在该用户的数据缓冲区,所以在原SQL窗口中查询得到的是数据缓冲区的结果,不是数据库真实的数据;要想拿到数据库真实的数据,需要在新SQL窗口中执行查询语句,这样针对不同的用户,Oracle服务器用读一致性来确保每个用户看到的数据和上次提交时的数据相同。

    2、当一个用户执行DML语句时,如果其事物没有结束,则受影响的行被锁定,此时其它用户不能改变受影响行中的数据,后面用户所执行的DML语句会一直处于执行状态,直至前一个用户所执行DML语句事务结束,例如:

    a、在一个SQL Window中执行如下SQL语句,并且不执行事务结束语句

    7b307f7fe0c0e32ea848d048fba4e951.png

    b、然后再在一个新的SQL Window中执行如下SQL语句

    c00120cdad37c5ce7cc302ae58f55f1a.png

    44dd503bff114b368c5a17b2219b1934.png

    修改SQL语句执行后,PL/SQL Developer显示该语句已知处于执行状态,如下所示:

    cbec9537257666780dbd93debc8066ec.png

    当上面修改数据的事务结束,则下面删除数据SQL语句结束执行状态。

    展开全文
  • 拿到的是08或者12版本的数据库,结果部署的服务器只装有05或08的sqlserver,一个小小的兼容问题是不是很让有头疼啊。 通用的解决方案是:导出数据库脚本,备份数据库。然后在Sql Server 2005或

    数据库在项目开发中几乎是必不可少的元素,sql Server 相信大家都特别熟悉吧,那么是否遇到过这样一个问题呢:

    在分析数据库或者部署数据库的时候,出现了数据库不兼容的问题。拿到的是08或者12版本的数据库,结果部署的服务器只装有05或08的sqlserver,一个小小的兼容问题是不是很让有头疼啊。

    通用的解决方案是:导出数据库脚本,备份数据库。然后在Sql Server 2005或08的服务器上创建数据库,然后通过备份文件还原数据。这样太麻烦了。既然sql的功能如此强大,肯定有考虑到兼容性的问题,如果修改一下兼容性就会省好多时间,那多方便呀。在网上找了半天,这个方法还真有。


    修改数据库兼容版本


    语法
    ALTER DATABASE database_name 
    SET COMPATIBILITY_LEVEL = { 80 | 90 | 100 |110 }
     
    参数
    database_name 
    要修改的数据库的名称。


    COMPATIBILITY_LEVEL { 80 | 90 | 100 |110}
    要使数据库与之兼容的 SQL Server 版本。该值必须为下列值之一:
     = SQL Server 2000 
     = SQL Server 2005   
     = SQL Server 2008   
     = SQL Server 2012 


    备注
    对于所有 SQL Server 2012 安装,默认的兼容级别都为 110。除非 model 数据库有更低的兼容级别,否则 SQL Server 2012 中创建的数据库会设置为该级别。将数据库从 SQL Server 的任何早期版本升级到 SQL Server 2012 时,如果数据库的兼容级别不在 80 以下,则该数据库将保留其现有的兼容级别。升级兼容级别低于 80 的数据库会将数据库的兼容级别设置为 80。这既适用于系统数据库,也适用于用户数据库。使用 ALTER DATABASE 可更改数据库的兼容级别。若要查看数据库的当前兼容级别,请查询 sys.databases 目录视图中的 compatibility_level 列。


    利用兼容级别获得向后兼容
    兼容级别只影响指定数据库的行为,而不影响整个服务器的行为。兼容级别只实现与 SQL Server 的早期版本保持部分向后兼容。通过将兼容级别用作临时性的迁移辅助工具,可解决相关兼容级别设置控制的行为之间存在的版本差异问题。如果现有 SQL Server 应用程序受到 SQL Server 2012 中行为差异的影响,请对该应用程序进行转换,使之能正常运行。然后使用 ALTER DATABASE 将兼容级别更改为 110。数据库的新兼容性设置将在该数据库下次成为当前数据库(无论是在登录时作为默认数据库还是在 USE 语句中指定)时生效。


    最佳实践
    如果在用户连接到数据库时更改兼容级别,可能会使活动查询产生不正确的结果集。例如,如果在编写查询计划时兼容级别发生更改,则编写后的计划可能同时基于旧的和新的兼容级别,从而造成计划不正确,并可能导致结果不准确。此外,如果将计划放在计划缓存中供后续的查询重用,则问题可能更加复杂。为了避免查询结果不准确,建议您使用以下过程来更改数据库的兼容级别:


    . 通过使用 ALTER DATABASE SET SINGLE_USER,将数据库设置为单用户访问模式。
    . 更改数据库的兼容级别。
    . 通过使用 ALTER DATABASE SET MULTI_USER,将数据库设为多用户访问模式。
       有关设置数据库访问模式的详细信息,请参阅 ALTER DATABASE (Transact-SQL)。

    --获取数据库兼容级别
     SELECT name ,compatibility_level ,recovery_model_desc FROM sys.databases WITH(NOLOCK)
     
     
     --将用户设置为单用户访问模式
     ALTER DATABASE test SET SINGLE_USER
     
     
     --修改数据库的兼容级别
     ALTER DATABASE TEST
     SET COMPATIBILITY_LEVEL = 90
     --or
     EXEC sp_dbcmptlevel TEST, 90;
     GO
     
     
     --将用户设置为多用户访问模式
     ALTER DATABASE test SET MULTI_USER

    语法

    sp_dbcmptlevel [ [ @dbname = ] name ] 
        [ , [ @new_cmptlevel = ] version ]
     

    参数
    [ @dbname = ] name
    要为其更改兼容级别的数据库的名称。数据库名称必须符合标识符的规则。name 的数据类型为 sysname,默认值为 NULL。


    [ @new_cmptlevel = ] version
    数据库要与之兼容的 SQL Server 的版本。version 的数据类型为 tinyint,默认值为 NULL。该值必须为下列值之一:
     = SQL Server 2000 
     = SQL Server 2005   
     = SQL Server 2008   
     = SQL Server 2012 


    返回代码值
    0(成功)或 1(失败)


    结果集
    如果未指定任何参数或未指定 name 参数,则 sp_dbcmptlevel 将返回错误。


    如果指定 name 但未指定 version,则 数据库引擎将返回一条消息,显示指定数据库的当前兼容级别。


    备注
    有关兼容级别的说明,请参阅 ALTER DATABASE 兼容级别 (Transact-SQL)。


    权限
    只有数据库所有者、sysadmin 固定服务器角色和 db_owner 固定数据库角色的成员(前提是您要更改当前数据库)才能执行此过程。

    展开全文
  • 数据库语句

    2019-04-17 09:36:31
    第二章 数据库语句 本章知识点 用户设置 数据类型与数据修改 索引操作 知识点讲解 用户设置 用户:使用程序人或者。 权限:被允许操作范围。 组:针对用户权限集合,角色。 用户管理 Mysql用户默认在mysql...

    第二章 数据库语句
    本章知识点
    用户设置
    数据类型与数据修改
    索引操作
    知识点讲解
    用户设置
    用户:使用程序的人或者。
    权限:被允许操作的范围。
    组:针对用户的权限集合,角色。
    用户管理
    Mysql的用户默认在mysql数据库当中的mysql库当中的user表中
    设置用户密码
    SET PASSWORD FOR root@localhost=PASSWORD(“1111”);

    查看用户名密码
    SELECT user,host FROM mysql.user\G;

    库.表形式:跨库进行查询
    \G:格式化输出,用于字段太多或者太长导致的显示问题
    数据类型与数据修改
    Navicat:高效的数据库可视化管理工具。
    安装:

    操作:
    链接数据库

    执行查询

    美化sql

    数据修改

    修改表名
    ALTER TABLE student RENAME students ;
    字段(column)
    添加字段
    ALTER TABLE students ADD COLUMN phone char(22);
    删除字段
    ALTER TABLE students DROP COLUMN phone;
    修改字段类型
    ALTER TABLE students MODIFY COLUMN name char(32);
    修改字段名称类型
    ALTER TABLE students CHANGE COLUMN naem name char(32);

    UPDATE students SET name=“老刘” WHERE id = 1;
    如果没有where改所有
    DELETE FROM students WHERE id = 1

    索引操作
    知识点回顾
    用户设置
    数据类型与数据修改
    索引操作

    展开全文
  • 就是把文本框中修改的数据重写入数据库代码:intnum=Integer.parseInt(number.getText());Stringnewname=name.getText();Stringnewclass=Class.getText();Stringnewsex=group.getSele...就是把文本框中修改的数据重...

    就是把文本框中修改的数据重写入数据库代码:intnum=Integer.parseInt(number.getText());Stringnewname=name.getText();Stringnewclass=Class.getText();Stringnewsex=group.getSele...

    就是把文本框中修改的数据重写入数据库

    代码:

    int num=Integer.parseInt(number.getText());

    String newname=name.getText();

    String newclass=Class.getText();

    String newsex=group.getSelectedCheckbox().getLabel();

    String newbirth=birth.getText();

    String newphone=phone.getText();

    String newaddress=address.getText();

    其中name,number,birth,phone,address,class是文本框JTextField,group是一个CheckboxGroup,然后连接access数据库:

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

    con=DriverManager.getConnection("jdbc:odbc:student");

    String sql4="UPDATE 个人信息表 SET name=?,sex=?,class=?,birth=?,phone=?,address=? WHERE number=?";

    try {

    prepareStatement s=con.prepareStatement(sql4);

    s.setString(1,newname);

    s.setString(2,newsex);

    s.setString(3,newclass);

    s.setString(4,newbirth);

    s.setString(5,newphone);

    s.setString(6,newaddress);

    s.setInt(7,num);

    s.executeUpdate();

    s.close();

    con.close();

    } catch (SQLException e1) {

    e1.printStackTrace();

    }

    运行时出现的错误是:java.sql.SQLException: [Microsoft][ODBC Microsoft Access 驱动程序] 参数不足,期待是 8。

    是sql语句写错了还是哪里,请大家帮帮忙 谢谢

    没明白啊

    展开

    展开全文
  • 数据库的修改表字段语句

    千次阅读 2020-10-13 18:52:08
    修改选项语法格式如下: { ADD COLUMN <列名> <类型> ---------------添加字段 | CHANGE COLUMN <旧列名> <新列名> <新列类型> --------------修改字段名称 | ALTER COLUMN <...
  • #生成修改指定数据库中全部表字符集的语句 select CONCAT(‘ALTER TABLE ‘,table_name,’ DEFAULT CHARACTER SET 字符集 COLLATE 排序规则;’) from information_schema.tables where table_schema=‘数据库’; #...
  • 使用SQL语句修改Mysql数据库字符集方法 修改库: alter database [$database] character set [$character_set] collate [$collation_name] 注:[$database]为数据库的库名。[$character_set]为字符集名称。...
  • 修改数据库的sql语句_alter使用

    千次阅读 2015-12-31 14:42:12
    有的时候数据库表建好了,发现有些字段需要修改后者添加某些字段,对于sql熟悉的话那还好,对于sql不熟悉的话那可就要小心点咯,特别是生产环境涉及一些金额但又必须做出修改的时候就更加要小心了,因为如果修改不当...
  • 如果要插入表内所有字段数据,可以省略字段名书写,但数据输入必须与表中字段顺序一致.例:insert into xsbvaluse('005','小王',18,'男');2.如果想要同时插入多条数据,如下:insert into xsb(xh,xm,x...
  • 数据库列名修改语句

    2020-07-21 11:54:03
    每个数据库不一样,修改的语句也不一样: oracle: ALTER TABLE 表名 RENAME COLUMN 列名 TO 新列名 sql server: exec sp_rename ‘[表名].[列名]’,’[表名].[新列名]’ mysql: ALTER TABLE 表名 CHANGE 列名 新...
  • 最全oracle数据库语句大全总结

    千次阅读 2019-07-07 11:21:29
    最全oracle数据库语句大全总结 包含你见到所有常见语句; 包含表创建,删除,修改字段名,修改属性; 包含记录增删改查; 包含所有记录各种查询及内连接外连接; 以下所有例子都用person表和student表为例...
  • 1.insert语句MySQLinsert语句有两种方式:INSERT INTO tablename() VALUES(列值);INSERT INTO tablename SET column_name1 = value1, column_name2 = value2,…;例如:mysql> insert into t_player_vip(id,...
  • 1、库操作# 查看所有库> show databases;...#查看创建数据库的SQL语句> show create database db_name\G# 创建数据库> create database db_name;# 切换库> use db_name;#查看当前所在库&...
  • 1、例如修改数据表t_email 中email字段中yahoo.cn 修改为163.com查询语句执行如下:UPDATE `t_email` tSET t.`email` = REPLACE(t.`email`, 'yahoo.cn', '163.com');2、更新 runoob_id 为 3 runoob_title 字段值...
  • 1.根据id修改信息(修改)    update book set typeid=#typeid#,bookname=#bookname#,writer=#writer#,translator=#translator#,publisher=#publisher#,  price=#price#,time=#time# where id=#id#  
  • 前言   在使用SQL语句修改字段类型时候,遇到了一些问题,总结出来供大家参考。
  • 1.数据库的常用命令查看数据库编码SHOW CREATE DATABASE db_name/** db_name为要修改的数据库名 */查看当前打开的数据库SELECT DATABAE();查看所有数据库SHOW DATABASES;查看所有数据表//查看当前数据库下的表SHOW ...
  • 查询数据库修改记录sql语句

    万次阅读 2018-12-03 16:21:41
    SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名称' ORDER BY create_time DESC; 该语句可以查询出,数库什么时候增加了什么表,和修改了那个表。
  • 数据库基础语句

    万次阅读 多人点赞 2018-10-02 14:29:02
    文章目录DDL数据库表索引DML查找语句以及注意事项DCL别名group by注意事项常见问题sql语句的执行顺序where和having区别Not null unique和primary key区别内连接 左连接 右连接 外连接MySQL中between and取值...
  • SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名' ORDER BY create_time DESC; 该语句可以查询出,数库什么时候增加了什么表,和修改了那个表。
  • C#对Oracle数据库的增加,删除,修改,基本语句,非常适合初学者,里面还有一个数据绑定,同时我又增加了一个刷新按钮,随时查看数据库信息。
  • 在 MySQL 中,root 用户拥有很高权限,因此必须保证 ...使用mysqladmin命令在命令行指定新密码root 用户可以使用 mysqladmin 命令来修改密码,mysqladmin 语法格式如下:mysqladmin -u username -h hostname -...
  • 1.安装mysql:mysqld install启动服务:net start mysql停止服务:net stop mysql登录服务:mysql -u root -p常用sql语句2....修改root账户密码为123456:update user set password = PASSWORD('...3.创建数据库:c...
  • DDL语句是操作数据库对象的语句,包括创建(create). 删除(drop) 和修改(alter)数据库对象。前面已经介绍过,最基本的数据库对象是数据表,数据表是存储数据的逻辑单元。但数据库里绝不仅包括数据表,数据库里可包含...
  • update 表名 set 字段名=replace(字段名,‘原数据内容’,‘替换后数据内容’)
  • 修改字段名称: sp_rename '表名.原字段表名',‘表名.新字段表名’ 例如我想把Card_Info表里面OnDate改为Date:  sp_rename ‘Card_Info.OnDate’,’Card_Info.Date’ 修改字段名为非空 alter table 表 ...
  • MySQL实用语句操作 ...2.在知道数据库原密码时候进行修改密码: mysqladmin -u root -p password "new password" 3.将选定数据库导出至sql脚本:(只导出表结构) mysqldump -u root -p -d "数据库名" > "sq
  • sql语句修改数据库字段长度

    千次阅读 2016-12-28 15:45:24
     alter table tableName  alter column columnName varchar(1024)
  • 禁止修改数据库某一列语句

    千次阅读 2016-12-25 00:22:22
    防止userinfo 表中name,age,tel,fax 等字段被撰改(转载内容未测试,请测试后使用) ROPTRIGGERIFEXISTS`userinfo`;SET@OLD_SQL_MODE=@@SQL_MODE,SQL_MODE='';DELIMITER//CREATETRIGGER`userinfo`BEFOREUPDATEON`...
  • 数据库的操作语句

    2019-04-02 15:05:15
    所有的语句都是在SQLyoga...查看当前正在使用的数据库 SELECT DATABASE(); 使用数据库 USE EMPLOYEE; 创建表 PRIMARY KEY 主键 唯一不可重复,也不能够修改 AUTO_INCREMENT id自增操作 CREATE TABLE E...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,120
精华内容 8,048
关键字:

修改的数据库语句