精华内容
下载资源
问答
  • 展开全部看他们网上的,写得都是千篇一律,同时,好多也写得不是很好,e68a8462616964757a686964616f...下次总结好了再发给你吧,呵呵~~~~~MySql学习笔记MySql概述:MySql是一个种关联数据库管理系统,所谓关...

    展开全部

    看他们网上的,写得都是千篇一律,同时,好多也写得不是很好,e68a8462616964757a686964616f31333264636165下面是我自己总结的有关mysql的使用细节,也是我在学习过程中的一些记录吧,希望对你有点帮助,后面有关存储过程等相关操作还没有总结好,下次总结好了再发给你吧,呵呵~~~~~

    MySql学习笔记

    MySql概述:MySql是一个种关联数据库管理系统,所谓关联数据库就是将数据保存在不同的表中,而不是将所有数据放在一个大的仓库中。这样就增加了速度与提高了灵活性。并且MySql软件是一个开放源码软件。

    注意,MySql所支持的TimeStamp的最大范围的问题,在32位机器上,支持的取值范围是年份最好不要超过2030年,然后如果在64位的机器上,年份可以达到2106年,而对于date、与datetime这两种类型,则没有关系,都可以表示到9999-12-31,所以这一点得注意下;还有,在安装MySql的时候,我们一般都选择Typical(典型安装)就可以了,当然,如果还有其它用途的话,那最好选择Complete(完全安装);在安装过程中,一般的还会让你进行服务器类型的选择,分别有三种服务器类型的选择,(Developer(开发机)、Server Machine(服务器)、Dedicated MySql Server Machine(专用MYSQL服务器)),选择哪种类型的服务器,只会对配置向导对内存等有影响,不然其它方面是没有什么影响的;所以,我们如果是开发者,选择开发机就可以啦;然后接下来,还会有数据库使用情况对话框的选择,我们只要按照默认就可以啦;

    连接与断开服务器:

    连接:在windows命令提示符下输入类似如下命令集:mysql –h host –u user –p

    例如,我在用的时候输入的是:mysql –h localhost –u root –p

    然后会提示要你输入用户密码,这个时候,如果你有密码的话,就输入密码敲回车,如果没有密码,直接敲回车,就可以进入到数据库客户端;连接远程主机上的mysql,可以用下面的命令:mysql –h 159.0.45.1 –u root –p 123

    断开服务器:在进入客户端后,你可以直接输入quit然后回车就可以了;

    下面就数据库相关命令进行相关说明

    你可以输入以下命令对数据库表格或者数据库进行相关操作,在这里就省略了,然后直接进行文字说明了;

    Select version(),current_date;//从服务器得到当前mysql的版本号与当前日期

    Select user(); //得到当前数据库的所有用户

    Use databasename; 进入到指定的数据库当中,然后就可以操作这个数据库当中的表格了

    Show databases; //查询目前数据库中所有的数据库,并且显示出来;

    Create batabase databasename;创建数据库,例如:create database manager;

    Show tables; //查看当前数据库中的所有表格;

    Create table tablename(colums);创建表,并且给表指定相关列,例如:create table pet(name varchar(20),owner varchar(20),species varchar(20),sex char(1),birth date,death date);

    Describe tablename;将表当中的所有信息详细显示出来,例如:describe pet;

    可以用命令一次插入多条记录,例如:

    Insert into pet values(‘Puffball’,’Diane’,’hamster’,’f’,’1993-12-3’,null),( ‘Puffball’,’Diane’,’hamster’,’f’,’1993-12-3’,now());

    Select * from pet; 从pet表当中查询出所有的记录,显示出来;

    Delete from pet where id=1;删除ID为1的那一条记录;

    Update pet set birth=’2001-1-3’ where name=’Bowser’;更新name为Bowser的记录当中的birth字段的值;

    Select distinct owner from pet;从pet表中选择出owner字段的值唯一的行,如果有多行记录这个字段的值相同,则只显示最后一次出现这一值的一行记录;

    有关日期计算:

    Select name,birth,curdate(),(year(curdate())-year(birth)) as age from pet;

    此处,year()函数用于提取对应字段的年份,当然类似的还有month(),day()等;

    在mysql当中,sql语句可以使用like查询,可以用”_”配任何单个字符,用”%”配任意数目字符,并且SQL模式默认是忽略大小写,例如:select * from pet where name like ‘%fy’;

    当然也可以用正则表达式模式进行配。

    同时在sql当中,也要注意分组函数、排序函数、统计函数等相关用法,在这里只列举一二;

    Select species,count(*) from pet group by speceis;

    Select * from pet order by birth desc;

    查询最大值的相关操作:

    Select max(age) from pet;

    取前多少项记录,这个主要用于分页查询操作当中,

    Select * from pet order by birth desc limit 3;取前三条记录,

    Select * from pet order by birth desc limit 0,3;这个可以用于分页查询,limit后面的第一个参数,是起始位置,第二个参数是取记录条数;

    有关创建表格自增长字段的写法:

    Create table person(id int(4) not null auto_increment,name char(20) not null,primary key (id));

    修改表操作:

    向表中增加字段:注意,在这个地方,如果是增加多个字段的时候,就要用括号括起来,不然会有问题,如果是单个字段的话,不用括号也没事;

    Alter table test add(address varchar(50) not null default ‘xm’,email varchar(20) not null);

    将表中某个字段的名字修改或者修改其对应的相关属性的时候,要用change对其进行操作;

    Alter table test change email email varchar(20) not null default ‘zz’;//不修改字段名

    Alter table test change email Email varchar(30) not null;//修改字段名称

    删除表中字段:

    Alter table test drop email;//删除单个字段

    Alter table test drop address,drop email;//删除多列

    可以用Drop来取消主键与外键等,例如:

    Alter table test drop foreign key fk_symbol;

    删除索引:

    Drop index index_name on table_name;

    例如:drop index t on test;

    向表中插入记录:注意,当插入表中的记录并不是所有的字段的时候,应该要在前面列出字段名称才行,不然会报错;

    Insert into test(name) values(‘ltx’);

    Insert into test values(1,’ltx’);

    也可以向表中同时插入多列值,如:

    Insert into test(name) values(‘ltx’),(‘hhy’),(‘xf’);

    删除表中记录:

    Delete from test;//删除表中所有记录;

    Delete from test where id=1;//删除表中特定条件下的记录;

    当要从一个表或者多个表当中查询出一些字段然后把这些字段又要插入到另一个表当中的时候,可以用insert …..select语法;

    Insert into testt(name) (select name from test where id=4);

    从文件中读取行插入数据表中,可以用Load data infile语句;

    Load data infile ‘test.txt’ into table test;

    可以用Describe语法进行获取有关列的信息;

    Describe test;//可以查看test表的所有信息,包括对应列字段的数据类型等;

    MySql事务处理相关语法;

    开始一项新的事务:start transaction或者begin transaction

    提交事务:commit

    事务回滚:rollback

    set autocommit true|false 语句可以禁用或启用默认的autocommit模式,只可用于当前连接;

    例子:

    Start transaction;

    Update person set name=’LJB’ where id=1;

    Commit | rollback;

    数据库管理语句

    修改用户密码:以root用户为例,则可以写成下面的;mysql –u root –p 旧密码 –password 新密码

    Mysql –u root –password 123;//将root用户的密码修改成123,由于root用户开始的时候,是没有密码的,所以-p旧密码就省略了;

    例如修改一个有密码的用户密码:mysql –u ltx –p 123 –password 456;

    增加一个用户test1,密码为abc,让他可以在任何时候主机上登陆,并对所有数据库有查询、插入、修改、删除的权限。

    Grant select,insert,update,delete on *.* to test1@”%” identified by ‘abc’;

    增加一个test2用户,密码为abc,让他只可以在localhost上登陆,并且可以对数据库进行查询、插入、修改、删除操作;

    Grant select,insert,update,delete on mydb.* to test2@localhost identified by ‘abc’;

    如果不想让用户test2有密码,可以再输入以下命令消掉密码:

    Grant select,insert,update,delete on mydb.* to test2@localhost identified by “”;

    备份数据库常用命令:mysqldump –h host –u username –p dbname>保存路径与文件名

    然后回车后,会让你输入用户密码,输入密码后,再回车就OK啦;

    Mysqldump –hlocalhost –uroot –p test >E:\db\test.sql

    这一命令具体解释下:

    这个命令就是备份test数据库,并且将备份的内容存储为test.sql文件,并且保存在E:\db下面;

    命令当中-p 前面的test是数据库名,然后在数据库名后面要跟上一个”>”,然后接下来,就是写要保存的位置与保存文件的文件名;

    将备份好的数据库导入到数据库当中去:也就是运行.sql文件将数据库导入数据库当中去->

    首先你得创建数据库,然后运行如下命令:mysql –hlocalhost –uroot –p linux

    解释下上面的命令:linux是就要导入的数据库名字,然后后面要紧跟着“

    将数据库导出保存成XML文件、从XML文件导入数据到数据库:

    导出表中数据:mysql –X –h hostName –u userName –p Pwd –e “use DatabaseName;sql;” >xml文件名

    或者用另外一种方式也行:mysqldump –xml –h hostName –u userName –p pwd dbName tableName //这一种只用于显示在当前的mysql客户端,不保存到文件当中;

    相关说明:-X代表的是文件的格式是XML,然后-e一写不能掉,还有就是要用双引号将要操作的语句括起来;单引号不行;

    例如:mysql –X –hlocalhost –uroot –p –e “use test;select * from pet;”>E:\db\out.xml

    从XML文件导入数据到数据库:

    Insert into tableName values(1,load_file(‘filepath’));

    例如:insert into pet values(1,load_file(“E:\db\out.xml”));

    查看数据库状态与查询进程:

    Show status;//查看状态

    Show processlist;//查看进程

    更改用户名,用以下命令:

    Update set user=”新名字” where user=”旧用户名”;

    给数据库用户设置管理员权限:

    Mysqladmin –h host –u username –p pwd;

    以root用户为例;

    Mysqladmin –h localhost –u root –p 123;

    存储过程与函数

    存储程序和函数分别是用create procedure和create function语句,一个程序要么是一个程序要么是一个函数,使用call语句来调用程序,并且程序只能用输出变量传回值;

    要想在MySql5.1中创建子程序,必须具有create routine权限,并且alter routine和execute权限被自动授予它的创建者;

    创建存储过程:

    首先声明分隔符,所谓分隔符是指你通知mysql客户端你已经输入一个sql语句的字符或字符串符号,在这里我们就以“//”为分隔符;

    Delimiter 分隔符\

    如:delimiter //

    再创建存储过程:

    Create procedure 存储过程名 ( )

    声明存储过程开始:

    begin

    然后开始写存储过程体:

    Select * from pet;

    结束存储过程:

    End;//

    刚刚的例子全部写出来,完整的代码就是:

    Delimiter //

    Create procedure spt () //注意,这个地方,存储过程名与括号之间要有个空格

    Begin

    Select * from pet;

    End;//到这里,整个存储过程就算写完啦

    执行存储过程:

    Call 存储过程名 ();//

    如,我们执行刚刚创建的存储过程,就是:

    Call spt ();//

    需要说明的是存储过程名后面一定要加个空格,而后面那个括号,则是用于传送参数的参数列表;另外,我们创建存储过程完成后,也只是创建了,但是只有调用call 存储过程名 ();//后才算执行完毕,才能看到存储过程的结果;

    另外,团IDC网上有许多产品团购,便宜有口碑

    本回答被提问者和网友采纳

    2Q==

    已赞过

    已踩过<

    你对这个回答的评价是?

    评论

    收起

    展开全文
  • Oracle数据库 Insert 多行Values

    千次阅读 2017-12-18 19:07:15
    Oracle数据库INSERT 多行VALUESInsert All Into dept values(10,'ACCOUNTING','NEW_YORK') Into dept Values(20,'RESEARCH','DALLAS') Into dept Values(30,'SALES','CHICAGO') Into dept Values(40,'OPERATIONS','...

    Oracle数据库INSERT 多行VALUES

    Insert All Into dept values(10,'ACCOUNTING','NEW_YORK')
    Into dept Values(20,'RESEARCH','DALLAS')
    Into dept Values(30,'SALES','CHICAGO')
    Into dept Values(40,'OPERATIONS','BOSTON')
    Select 1 from dual
    1. 使用 Insert All Into 替代 Insert Into
    2. 最后的Select 1 from table_name 可以是不是dept的任何表
    3. 不使用Mysql的逗号分格,在每个Values前面加上Into table_name VALUES

    展开全文
  •  insert into AOP_TRADE (  LOG_ID,  APPCODE,  BIZKEY ,  METHODCODE, ...由于oracle数据库不支持values,所以只能使用sparator='UNION'。。   如果是mysql数据库,第一种方式没有问题。

    <insert id="insertAopTradeForReq" >
              insert into AOP_TRADE (
                   LOG_ID,
                   APPCODE,
                   BIZKEY ,
                   METHODCODE,
                   APPTX,
                   PROVINCE,
                   CITY,
                   CHANNEL_ID,
                   REQTIMES,
                   UPDATE_TIME
                      ) 
          <foreach collection="list" item="item" index="index" separator="union all" > 
             (select  
                   #{item.txid,jdbcType=VARCHAR},
                   #{item.appCode,jdbcType=VARCHAR},
                   #{item.bizkey,jdbcType=VARCHAR},
                   #{item.methodCode,jdbcType=VARCHAR},
                   #{item.apptx,jdbcType=VARCHAR},
                   #{item.province,jdbcType=VARCHAR},
                   #{item.city,jdbcType=VARCHAR},
                   #{item.channelId,jdbcType=VARCHAR},
                  #{item.reqTs,jdbcType=NUMERIC},
                   sysdate
            from dual)
        </foreach>
     </insert>

    由于oracle数据库不支持values,所以只能使用sparator='UNION'。。

     

    如果是mysql数据库,第一种方式没有问题。

    展开全文
  • 关于数据库插入数据时使用values和value的区别 在数据库插入数据时使用values和value都是正确的, 唯一不同的是:在插入单行和多行数据的时候,执行的效率不同 在插入单行数据的时候,values要优于value 在插入...

    关于数据库插入数据时使用values和value的区别

    
    在数据库插入数据时使用values和value都是正确的,
    唯一不同的是:在插入单行和多行数据的时候,执行的效率不同
    
    
    在插入单行数据的时候,values要优于value
    在插入多行数据的时候,value要优于values
    
    
    
    
    展开全文
  • 查询数据库时报错ORA-00913: too many values数据库里获取数据时需要多表联合查询,不仅要 t表里的所有属性,也需要pe表里的一些属性,所以我尝试了下面的代码: select t.*, (select pe.exam_score, pe.total_...
  • 数据库

    2020-05-16 16:23:16
    数据库的基本内容: 数据库的基本语句: 创建库:create database +...插入数据:insert into +表名(属性值)values(数据),(数据)…; 查看数据库表的数据:select * from 表名; 数据库表查询(where): 排序:o
  • 如何在JS中写点击一个按钮,修改SQL数据库VALUES的值,并插入当前日期与时间到后台数据库中中的ENDDATE和ENDTIME两个字段中。
  • 【accumulo】列数据库介绍

    千次阅读 2016-09-19 17:47:48
    介绍Accumulo是一个基于Google’s BigTable的高扩展性存储数据库。采用java编写并且操作于HDFS系统上。Accumulo支持高效存储和结构多样化,包括...Accumulo设计Accumulo比简单的key-values数据库提供更丰富的数据模型
  • 各位大神帮帮忙,SQL数据库中 Insert添加数据 其中Values里面 的值为变量怎么办,急急急
  • insert values:优点:可以批量插入;缺点:单条执行效率低。&lt;适合批量插入&gt; insert into table(col1,col2,col3) values('val1','val2','val3'); insert set:优点:执行效率高;缺点:每次只能...
  • 在数据入库的时候报错——oracle-00926:缺失VALUES关键字. 这是我的SQL <insert id="xxxInsert" parameterType="java.util.List"> INSERT INTO TableOne USING( ...
  • INSERT INTO DEVICE_BIT_NUMBER ...VALUES ( SELECT device_id,DEVICE_CODE FROM device_info WHERE device_code LIKE '%ZNZM%' ) 提示出错,正确写法去掉“values”,如下: INSERT INTO D...
  • 数据库中没有任何数据被插入 同样的代码,参考例程中就有数据被插入 比较无解,删除部分代码,红框中的部分,运行一下,再贴回去,就好了 转载于:https://www.cnblogs.com/jnhs/p/9987499.html...
  • 在 Python Flask项目中将数据库配置完,并定义模型类之后,执行命令: # 注:命令中的db是在配置中定义的数据库的一个命令的名称 $ python manage.py db init $ python manage.py db migrate -m"initial" ...
  • MySQL数据库

    2020-09-02 19:34:37
    MySQL基本操作 创建数据库 CREATE DATABASE 数据库名; 查看数据库 SHOW DATABASES; 使用数据库 USE 数据库名;...删除数据库 ...INSERT INTO 表名(字段名1,字段名2)VALUES(数据1,数据
  • ### SQL: INSERT INTO GM_GOODS_SKU_REL(GOODS_ID,SKU_ID) VALUES (?,?) ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that ...
  • 一、数据库配置 1、CodeIgniter 有一个配置文件用来保存数据库配置(用户名、密码、数据库名等等...You can also set database connection values for specific environments by placing database.php in the r...
  • SSMS创建数据库 use Sales go create table grade ( 学号 int primary key, 姓名 varchar(20) not null, 语文 int, 数学 int, 英语 int ) insert into grade values(14,'王二',50,90,90) insert ...
  • 数据库001

    2020-07-25 21:48:29
    #控制台登入mysql ...#查看已存在的数据库 show databases;...insert into class values(101,‘数据’); #查看所有的数据项 select* from class; #查找莫一条数据 select* from class where id=101; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,965
精华内容 6,386
关键字:

values数据库