从0到1学JAVA之第一天——SQL相关知识

By | 11月 30, 2017

今天完成的任务:

一、数据库创建、增删改查等操作。

分析图中的结构,应该设计用户表,工作表,院校表,日报表,了解来源表。

本想设计多个表符合范式,后期采用多表操作,不过这里主要还是方便练习,就只建一个表。

1.建立数据库——ylxjava

#(#忽略,这里是防止被网站的防御机制屏蔽) CREATE DATABASE ylxjava charset utf8;

2.建立报名表——yl_enrol

CREATE TABLE yl_enrol(
  id bigint AUTO_INCREMENT primary KEY,
  name varchar(10) NOT NULL UNIQUE COMMENT '姓名',
  qq  bigint NOT NULL COMMENT'QQ',   
  job varchar(10) not null  COMMENT '职位',   
  enroll_time varchar(30) NOT NULL COMMENT '入学时间',
  school varchar(20) NOT NULL COMMENT '毕业院校',
  number text NOT NULL COMMENT'线上学号',
  diary_link text NOT NULL COMMENT'日报链接',
  flag text NOT NULL COMMENT'立愿',
  brother varchar(10) NOT NULL COMMENT'辅导师兄',
  location varchar(20) NOT NULL COMMENT'来源'   
)ENGINE=INNODB charset utf8;
忽略两个字段,添加即可
ALTER TABLE yl_enrol ADD(
 create_at bigint NOT NULL COMMENT'创建时间',
 update_at bigint NOT NULL COMMENT'更新时间'
);

表结构如下:

 3.插入一条数据:

INSERT INTO `yl_enrol`(`id`, `name`, `qq`, `job`, `enroll_time`, 
`school`, `number`, `diary_link`, `flag`, `brother`, `location`, `create_at`, `update_at`)
 VALUES (NULL,'一零','2017123456','JAVA开发工程师','2017年11月9日','兑山小学附属大学',
'JAVA-764','http://www.onezero.cc','早起的鸟儿有虫吃!','[厦门分院|首席弟子] JAVA-一零一',
'知乎',NOW(),NOW());

  4.增加索引name。

ALTER TABLE yl_enrol ADD INDEX(name);

5.删除索引name:

ALTER TABLE yl_enrol DROP INDEX name;

6.查看当前表的索引:

show index from yl_enrol;

使用索引的数据表在插入数据时比不添加索引的数据表耗费的时间长,sql语句执行的效率偏低。这是因为插入数据时需要更新索引,所以sql语句执行会花费更多的时间。不过索引可以提高查询效率,例如设置name字段为索引,当查询姓名时相当于直接查询name这一列,然后找到目标,减少查询的工作量,提高工作效率。

7.SQL控制台查看数据库。

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| armaterial         |
| bnsx               |
| dayincms           |
| food               |
| information_schema |
| ipaddress          |
| lagou              |
| mysql              |
| performance_schema |
| phpmyadmin         |
| sq_                |
| study              |
| test               |
| wordpress          |
| wx                 |
| yansu              |
| ylxjava            |
+--------------------+
17 rows in set (0.00 sec)

8.SQL控制台进入某个数据库。

MariaDB [(none)]> use ylxjava;
Database changed
MariaDB [ylxjava]>

9.SQL控制台查看数据库的数据表。

MariaDB [ylxjava]> show tables;
+-------------------+
| Tables_in_ylxjava |
+-------------------+
| yl_enrol          |
+-------------------+
1 row in set (0.00 sec)
MariaDB [ylxjava]> show tables from ylxjava;     #不进入数据库即可查看当前数据库中的表
+-------------------+
| Tables_in_ylxjava |
+-------------------+
| yl_enrol |
+-------------------+
1 row in set (0.00 sec)

10.SQL控制台查看数据表的表结构。

MariaDB [ylxjava]> describe yl_enrol;
+-------------+-------------+------+-----+---------+----------------+
| Field       | Type        | Null | Key | Default | Extra          |
+-------------+-------------+------+-----+---------+----------------+
| id          | bigint(20)  | NO   | PRI | NULL    | auto_increment |
| name        | varchar(10) | NO   | MUL | NULL    |                |
| qq          | bigint(20)  | NO   |     | NULL    |                |
| job         | varchar(10) | NO   |     | NULL    |                |
| enroll_time | varchar(30) | NO   |     | NULL    |                |
| school      | varchar(20) | NO   |     | NULL    |                |
| number      | text        | NO   |     | NULL    |                |
| diary_link  | text        | NO   |     | NULL    |                |
| flag        | text        | NO   |     | NULL    |                |
| brother     | varchar(10) | NO   |     | NULL    |                |
| location    | varchar(20) | NO   |     | NULL    |                |
| create_at   | bigint(20)  | NO   |     | NULL    |                |
| update_at   | bigint(20)  | NO   |     | NULL    |                |
+-------------+-------------+------+-----+---------+----------------+
13 rows in set (0.01 sec)

11.SQL语句实现为已经建好的表增加新的字段。

ALTER TABLE yl_job ADD update_at bigint NOT null;
ALTER TABLE table_name ADD  column_name 字段结构;

12.SQL语句删除字段

ALTER TABLE 表名 DROP COLUMN column_name(字段名)

二、JAVA相关。

1.JDK与JRE的区别?

JDK是java development kit,JAVA的运行工具包;JRE全称是java runtime environment,是JAVA的运行环境;JDK中包含有JRE。

   明天计划的任务:

   进行java的某些基础的学习。

收获:

今天主要是熟悉数据库的相关知识,对sql语句以及索引等有了一定的了解。

发表评论

您的电子邮箱地址不会被公开。