20170305-java

来源:互联网 发布:软件危机的例子 编辑:程序博客网 时间:2024/06/07 07:26
多线程的交互
    争用条件:多个线程同时访问同一数据(内存区域)时,每个线程都尝试操作该数据,从而导致数据被破坏,称为争用条件
    交互方式:互斥与同步
        互斥:同一时间只能有一条线程对临界区进行操作
        同步:线程之间的通信机制,通过一种方式告诉其他线程当前线程的任务做完了
        1、实现互斥:
                   private final Object lockObj = new Object
                   synchronized(lockObj){....}
        2、实现同步:lockObj.wait()和lockObj.notifyAll()


mySql
     登陆命令:mysql -uroot -p -P3306 -h127.0.0.1
     退出:exit;
               quit;
               \q;
     修改提示符:
         登陆时修改:mysql -uroot -p1997 -prompt 提示符
         登陆后修改:prompt 提示符
     规范:
         关键字、函数名称全部大写
         数据库名称、表名称、字段名称全部小写
         SQL语句必须以分号结尾
     数据库操作:
         创建数据库:CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name;
         查看数据库的创建信息:SHOW CREATE DATABASE db_name;
         查看所有数据库:SHOW DATABASES;
         修改数据库:ALTER {DATABASE|SCHEMA} db_name [DEFAULT] CHARACTER SET [=] charset_name;
         删除数据库: DROP {DATABASE|SCHEMA} [IF EXISTS] db_name;
     数据类型:

         整型:TINYINT(1字节);SMALLINT(2字节);MEDIUMINT(3字节);INT(4字节);BIGINT(8字节)

                    

         浮点型:FLOAT    DOUBLE

                   

         日期类型:

                   

         字符型:CHAR;VARCHAR;TINYTEXT;TEXT;MEDIUMTEXT;LONGTEXT;ENUM(枚举);SET

                  

     数据表:行称为记录,列称为字段
     数据表的操作
          USE 数据库名称:打开数据库 

          创建数据表:CREATE TABLE [IF NOT EXISTS] table_name(column_name,data_type,...)

          删除数据表:DROP TABLE tb_name;

          查看数据表列表:SHOW TABLES [FROM db_name][LINK 'pattern' | WHERE expr]
          查看数据表结构:SHOW COLUMNS FROM tbl_name
          插入记录(行):INSERT [INTO] tbl_name [(col_name,...)] VALUES(val,...)  //如果省略掉列名,则须为所有字段赋值
          查找记录:SELECT expr,... FROM tbl_name
          NULL:空值,字段值可以为空
          NOT NULL:非空,字段值禁止为空
          AUTO_INCREMENT:自动编号,且必须与主键组合使用,默认情况下,起始值为1,每次增量为1 

          主键约束(PRIMARY KEY):每个数据表只能存在一个主键,且主键不能有重复的值,主键可以保证记录的唯一性,主键自                                                                                                       动为NOT NULL,AUTO_INCREMENT字段必须定义为主键,但主键不一定AUTO_INCREMENT一起使用                                                                                      

                                       

          唯一约束(UNIQUE KEY):也可以表示记录的唯一性,一个数据表可以有多个UNIQUE KEY,唯一约束的字段可以为NULL,存储时即使有多个值为空                                                           值,但最终保留的空值只有一个。

                                      

          默认约束(DEFAULT):当插入记录时,若没有明确为这个字段赋值,则自动赋予默认值

                                     

                                     

                                     


JDBC
    JDBC使用步骤:
        1、加载驱动程序:Class.forName(driverClass)
             加载Mysql驱动:Class.forName("com.mysql.jdbc.Driver")
             加载Oracle驱动:Class.forName("oracle.jdbc.driver.OracleDriver")
        2、获得数据库连接:DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/imooc","root","root")
     
0 0