• MySQL01


    1.mysql
    //查看数据库

    show databases;

    //使用指定的数据库

    use test;

    //创建自己的数据库
    create database 数据库名字 default character set utf8;
    //创建数据库jsd1803

    create database jsd1803 default character set utf8;

    //进入指定数据库

    use jsd1803;

    //查看数据库下面的表

    show tables;

    //查看系统时间

    select now() from dual;

    //创建员工表emp_xi

    create table emp_xi(
    empno int(4) primary key auto_increment,
    ename varchar(20) not null,
    position varchar(15),
    salary double(7,2),
    bonus double(5,2),
    hiredate date,
    leader int(4),
    deptno int(2)
    );

    注意:primary key auto_increment 表示主键自增长

    //查看表结构

    desc emp_xi;
    
    insert into emp_xi values(1001,'张三丰','Analyst',99999.99,999.99,now(),NULL,10);
    insert into emp_xi values(1002,'张无忌','Programmer',5000,NULL,now(),1001,10);
    insert into emp_xi values(1003,'杨过','Manager',8000,500,now(),NULL,10);
    insert into emp_xi values(1004,'郭靖','Salesman',4500,999,now(),1005,20);
    insert into emp_xi values(1005,'黄蓉','Manager',6000,NULL,now(),NULL,20);
    insert into emp_xi values(1006,'洪七公','Clerk',3000,NULL,now(),1005,20);
    insert into emp_xi values(1007,'韦小宝','Salesman',4000,800,now(),NULL,30);
    insert into emp_xi values(1008,'乔峰','Analyst',8000,600,now(),1007,30);
    insert into emp_xi values(1009,'小龙女','Manager',1500,NULL,now(),1008,30);
    insert into emp_xi values(1010,'段誉','President',15000,100,now(),NULL,40);
    insert into emp_xi values(1011,'孙悟空','Salesman',50000,300,now(),1010,40);
    insert into emp_xi values(1012,'燕小六','Analyst',12000,999.99,now(),1010,40);

    //更改服务器编码

    set names gbk;//当前会话有效

    //创建部门表

    create table dept_xi(
    deptno int(2) primary key auto_increment,
    dname varchar(20) not null,
    location varchar(15)
    );
    
    insert into dept_xi values(10,'研发部','南京');
    insert into dept_xi values(20,'行政部','苏州');
    insert into dept_xi values(30,'市场部','合肥');
    insert into dept_xi values(40,'财政部','无锡');
    insert into dept_xi (dname,location)values('后勤部','上海');

    JDBC MYSQL
    Driver接口及驱动类-》MySQL

    Class.forName("com.mysql.jdbc.Driver");
    Connection con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jsd1803","root","1234");

    src下面创建.properties文件
    首先把.properties文件的编码方式改成UTF-8 (右击.properties文件,选择首选项,改编码)

    insert into dept_xi values(50,'','');
    String sql="insert into dept_xi values("+dept.getDeptno()+",'"+dept.getDname()+"','"+dept.getLocation()+"')";
    
    update dept_xi set dname='吃瓜部',location='南极' where deptno=50;
    
    String sql="update dept_xi set dname='"+dept.getDname()+"',location='"+dept.getLocation()+"' where deptno="+dept.getDeptno()+"";

    语句对象
    Statement
    PreparedStatement
    Statement 主要用于执行一些静态的SQL语句,即内容固定不变
    Statement每执行一次都要对传入的SQL语句编译一次,效率低。
    某些情况下,SQL语句只是其中的参数不同,其他语句都是相同。
    这种适用于PreparedStatement,PreparedStatement能预防SQL注入攻击

    PreparedStatement是接口,继承Statement,SQL语句提前编译。
    三个常用方法execute、executeQuery、executeUpdate已被修改,不需要参数

    PreparedStatement实例包含事先编译的SQL语句
    SQL语句可以由一个或N个IN参数,IN参数的值在SQL语句创建时未被指定,
    此语句为每个IN参数保留一个问号('?'占位符)。每个问号的值必须在此语句执行前赋值,
    通过适当的setInt或者setString方法提供

    因为PreparedStatement对象已经预编译过,所以执行速度快于Statement对象,建议多次执行的SQL
    语句创建为PreparedStatement对象,以提高执行效率。
    比如:批处理

    //重构员工表

    MySQL
    insert into emp_xi values(?,?,?,?,?,?,?,?);
    update emp_xi set ename=?,position=?,salary=?,bonus=?,hiredate=?,leader=?,deptno=? 
    where empno=?;
    delete from emp_xi where empno=?;
  • 相关阅读:
    windows下安装redis以及redis扩展,设置redis为windows自启服务
    Redis和Memcache的区别
    Git 简单入门使用
    ssh 连接 mac osx下 virtual box虚拟机中的 cent os 记录
    把可运行jar转换成Linux服务运行
    CentOS 7 配置FTP(vsftpd)
    团队总结
    第五周小组项目总结
    第四周小组项目总结
    第三周小组项目总结
  • 原文地址:https://www.cnblogs.com/yingyigongzi/p/9165673.html
Copyright © 2020-2023  润新知