java技术--MySQL常用语句总结

1.ALTER TABLE 语句:用于在已有的表中批量添加、修改或删除列

(1)在表中添加列,请使用下列语法:
         ALTER TABLE table_name ADD column_name datatype
         例如:在User表中新添加一列age(datatype:integer),并设置默认值为0
         ALTER TABLE User ADD age  integer default 0
(2)在表中某一列后添加列,请使用下列语法:
         ALTER TABLE table_name ADD column_name  varchar(20)  after  column_name;
         例如:在User表中的name列后面添加一列age
         ALTER TABLE table_name ADD name  varchar(20)  after  age;
(3)要删除表中的列,请使用下列语法:
         ALTER TABLE table_name DROP COLUMN column_name
         例如:在User表中删除一列age(datatype:integer)
         ALTER TABLE User DROP COLUMN age  
    注释:某些数据库系统不允许这种在数据库表中删除列的方式 (DROP COLUMN column_name)
 (4)要改变表中列的数据类型,请使用下列语法:
         ALTER TABLE table_name ALTER COLUMN column_name datatype
         例如:在User表中将列age数据类型修改为vercher
         ALTER TABLEUser  ALTER COLUMN age vercher

2.Drop语句:删除一张表

     语法:DROP TABLE table_name
     例如:删除数据库中的user表
           DROP TABLE user;

3.Truncate语句: 清空某张表,但保留表的结构及对象

     语法:TRUNCATE TABLE table_name
     例如:清空user表数据
          TRUNCATE TABLE user

4.Insert语句:插入数据

     语法: insert into table_name(列名1,列名2,...列名n) values(值1,值2,...,值n);    
     例如:向user表中添加一条数据
           insert into user(id,name,age) values(1,张三,18);   

5.Delete语句:删除表数据

(1)删除表的部分数据:
     语句:  Delete from table_name where 条件;
     例如:删除user表中id=1的人
           Delete from  user where id=1;
(2)删除表的所有数据,效果和Truncate语句一样
     语句: Delete from table_name;
     例如:删除user表中id=1的人
           Delete from  user ;

6.Update语句:修改数据

    语句:updata  table_nameset   列=新值   where  条件内容 ;
    例如:修改user表中id=1的人的名字为张三
         updata user  name=张三   where  id=1

7.INSERT INTO … SELECT语句:从一个表复制数据,然后把数据插入到一个已存在的表中

(1)用于创建表的备份复件或者用于对记录进行存档
(2)目标表中任何已存在的行都不会受影响,目标表为要插入数据的表(这里指:table2)
(3)可以从一个表中复制所有的列插入到另一个已存在的表中:
       语句:INSERT INTO table2 SELECT * FROM table1;
(4)只复制希望的列插入到另一个已存在的表中:
       语句:INSERT INTO table2(column_name(s)) SELECT column_name(s) FROM table1;

8.SELECT INTO 语法:用于创建表的备份复件或者用于对记录进行存档

(1)可以把所有的列插入新表:
    SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename
    例如:制作 "User" 表的备份复件
    SELECT * INTO User_backup FROM User
(2)或者只把希望的列插入新表:
   SELECT column_name(s) INTO new_table_name [IN externaldatabase] FROM old_tablename  
(3)IN 子句可用于向另一个数据库中拷贝表:
   例如:SELECT * INTO User IN 'Backup.mdb' FROM User
(4)可以添加 WHERE 子句
    //通过从 "User" 表中提取居住在 "Beijing" 的人的信息
   例如:SELECT LastName,Firstname INTO User_backup FROM User WHERE name='张三'
(5)从一个以上的表中选取数据也是可以做到的
   //创建一个名为 "Persons_Order_Backup" 的新表,其中包含了从 Persons 和 Orders 两个表中取得的信息
   例如:SELECT Persons.LastName,Orders.OrderNo INTO Persons_Order_Backup
        FROM Persons INNER JOIN Orders ON Persons.Id_P=Orders.Id_P   
注意: 
(1)mysql 数据库是不支持 SELECT INTO FROM 这种语句的
(2)可以使用以下两种语句代替
   <1>CREATE TABLE new_table_name (SELECT * FROM old_table_name );
   例如:Create table User_backup (Select * from User)
   其中:User_backup表在数据库中必须不存在,否则报错提示:Table 'User_backup ' already exists
   <2>INSERT INTO new_table_name SELECT * FROM  old_table_name 

8.注意事项:

(1)在进行数据Delete,Update操作时,如果不是用主键当where语句,会报错
(2)因为MySql运行在safe-updates模式下,会导致非主键条件下无法执行update/delete命令
(3)执行命令SET SQL_SAFE_UPDATES = 0;修改下数据库模式
(4)想要提高数据库安全等级,可以恢复回原有的设置,
(5)执行命令:SET SQL_SAFE_UPDATES = 1
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值